Ian,
A very important part of dashboard port data handling is the implementation of a "state machine" to keep track of where you are in the telemetry data stream. I've placed an example application, written in C, that illustrates the idea here:
http://www.cvhsrobotics.org/resources.htm
Look for dashbd.c and dashbd.h. If you have questions, feel free to fire-off an e-mail in my direction.
Kevin