OrangeSword,
In your control loop thread you should wait for the ">" prompt before sending another command. The OBDPro can buffer serial data while executing a previous OBD Command but ocasionally it will not be able to keep up with buffering serial data and processing the OBD command at the same time.
One way to do this is create a boolean promptSeen. Set this to true when you read a ">" on the serial port handler, and only send a new OBD command when promptSeen == TRUE
hth
Paul
www.obdpros.com