After a lot of debugging I came to the conclusion that the Pic must be damaged. It seemed to be working ok on its own but it was trying to pull 60mA straight from the parallel port to pin 6. A pin set to be an input should be high impedance and shouldnt draw anywhere near that. So I programmed another pic, swapped the existing one out and what do you know... Its talking to the PC properly now. What a relief!
After a bit of playing around the motor seems to be stalling at higher RPMs. The motors are rated at 0.7A and the LMD's are driving them at about 0.5A. I might up the values of the current limiting resistors and see if that fixes the problem. Otherwise my test pulses on the parallel port might need massaging. Its basically just a square wave at the moment. I wouldn't have thought that would be a problem though.
What is the upper limit for RPMs with the picstep running at 20mhz? Or pulses per minute should i say?