Well, I'm still not sure why exactly that quadrant sucks, need to do more linear algebra remedial courses.

In any case, I did notice that the copier node has the option to plug in radians instead of degrees, so...

Much easier expression with less conditional to parse.

Code:

vector $aim = <<1,0,0>>;

vector $position = nParticleShape1.position;

float $rad = `angle $aim $position`;

if ($position.z >= 0)

nParticleShape1.rotationPP = <<0, -$rad, 0>>;

else

nParticleShape1.rotationPP = <<0, $rad, 0>>;

The nice thing about this one, is I don't notice flickering particles, which I'm assuming is a gimble flip. Degrees can rot, I like these rads here.