I found some more data regarding the known bug in the Palm OS5 devices. This was referencing a T3 but the principle is the same.
Discussion of Palm OS5 serial flow control and buffer implementation
What this discussion alludes to is that the Palm is mis-handling the flow control. It is a known bug and has never been patched in the OS. Essentially the serialfix patches it in some cases. In your case it would not work with your Garmin specific hardware.
What is happening with your Garmin is that the ECU is sending data as soon as its put into 'diag' mode. The Palm serial connection has a data buffer of a finite size. As long as number of received packets is smaller than the buffer can hold, you are able to communicate. However once you begin asking the ECU for the data from multiple registers which contain the logging data, it over-runs the buffer. As soon as the buffer gets full the CTS line drops indicating that no more packets can be sent.
There are two types of flow control. Hardware flow control utilizing actual signal lines RTS/CTS and Software flow control which bundles the flow control onto the TX/RX line. There is also an option of no flow control AKA dumb mode or blind transmission.
There are a couple of scenarios here.
One, the Garmin is not correctly interpreting the RTS/CTS (or ignoring them). We did attempt to tie them so the CTS line would be asserted. Now that you have rudimentary communications, re-check that those lines are tied, as it may be that simple.
Two, the MMCd software is coded for one type of flow control or another but is not written to support both (could be rectified by minor addition to the way the software handles the data with an option to toggle).
Three, we need a circuit to cheat a little and coax the port into being happy. A simple acknowledgment from the MAX202 may do the trick. It may be that the Garmin is doing exactly what its supposed to. But that it expects proper signaling. This may be hard-coded in firmware or in the serial driver(and differ in its behavior from Palm OS4 and earlier). The MAX202 does have these signals available. We may need to extend the control signals over so that the burden for flow control falls on the MAX202 rather than none, or a faked RTS/CTS.
Four, After reading that some people had problems with Garmin devices hot-sync'ing with the backlight on, we could be dealing with a similar problem. The Garmin may be sensitive to power drain from its power supply and that may affect the sensitivity to current loop based communications.
Five, as mentioned before we may be dealing with a virtual serial port that is being emulated strictly as a subset of the Garmin USB port. The serial port may not technically exist which causes all applications written to use a serial library grief.
I'm still researching. As I mentioned before, I am trying to get a non-standard newer palm and look at the original MMCd source to see if we can fake it. I'm also looking at seeing if routing the data via the infrared port or a bluetooth connection would work. There is limited serial support via both. The flow control is still an issue as both alternate types of ports were never intended to have full compliance with RS-232c. If we could get one working USB port of the MMCd code we could do this. Bluetooth may fair better than USB than accomplishing this.