The first thing I'd be suspicious of is the cable to the Palm. Some vendors provide a different serial connector for the new (Tungsten & Zire 71) devices than for older devices. The specification is the same, but there seems to be a small difference on the real devices that leads to poor connections between connectors designed for old devices and actual new devices. The best connectors have a tab that runs a ways up the back of the T3 in order to stabilize everything. Try several different cables and see if there is any difference among them.
The new devices require a proper ID resistor in the serial connector. Cables with the wrong ID ("Y" cables in particular) can work with old Palms, but go wonky with a T3. The sensor device may be sensitive to the timing of signals sent to it. This is what handshaking is supposed to take care of, but some devices are just deaf some of the time. They are dependent upon the sender leaving some time between characters, or between command sequences. The T3 is a very fast device, and it may be overrunning the performance of the sensor. While the PC is fast, it has many other things going on, and thus may not actually drive the serial connection at the highest speed. I've had reports that my SerialFix extension corrected data integrity to serial devices. The only way I can figure that this could be true is that there must be some buffer management problems in the standard serial handler code. If the program works on other Palm devices, but not on the T3, then it is worth trying the SerialFix extension. It is available at http://www.handango.com/PlatformProductDetail.jsp?&productId=64193 SerialFix bypasses the requirement for CTS or cable ID handshake signals. This allows usage of three wire serial connections and cables that do not provide the proper device ID, such as "Y" cables. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/