no idea in particular about your problem but im having a similar issue, though this time is some "garbage" in the serial comunication that bounces back to pd.
I mean im sending data from pd, basic numbers from 0 to 255, the values seem to pass but not cleanly, if i dont send any number i will see in the arduino IDE (with its serial monitor activated) a list of:
when i move the hslider in pd, producing numbers i get a wierd list:
if i just click on one message object from pd containing a one digit, say [6( i get this:
the fun part come in the pd side where i have a number box attahed to the outlet of the [comport 0 9600] object, it fluctuates around 48 to 56 if the spedd selected is 9600 and around 255 if the speed is 115200... as long as it fluctuates the behaviour of the step motor looks fine, but when the number stabilizes the motor jumps and moves in the wrong direction to what the values are telling it to move.
yeap, i will try your code if you like, and i will send you mine also, phps we can troubleshoot eachother :P
ps, me, im on linux also, but have seen the same problem in os x.