I have the issue of the latency in the dynamic response of the EM406 GPS in binary mode finally resolved: you have to run at 57,600 baud in binary mode. Apparently there is a large communications buffer in the EM406 that gets flushed by the carriage return/line feeds in NMEA mode, but which does not get flushed in binary mode, unless you run at 57,600 baud. There must have been a memo on this, but I missed it.
I will revise the MatrixNav code and release it as soon as I can give it a test flight. The drop in latency from 12 seconds to a few seconds should vastly improve the performance in windy conditions.
Thank you all for your help, especially Chris Anderson, Jack Crossfire, and automatik.
I should have listened to you, Jack. Next time I will.
By the way, the EM-406A performs very well with respect to sensitivity and fast response. Now that I have resolved the binary interface issue, it performs as well as any of the other GPS radios that I tested. I plan to continue using it in future designs. There really is no point to using GPS units with reporting rates that are faster than 1 Hz. As far as I can tell, all they do is interpolate.