Steve, I haven't used the Prosoft cards but have had a similar problem talking to RS232 devices using SLC's. It sounds to me like the port's input buffer is being cleared or over-written at the wrong times. I'm assuming you have an ASCII protocol and have the parity setting correct:
You mention "banks of 12 flowmeters.." does this mean you are using 232-485 converters? If so, you will need to make certain that your *hardware* handshaking is working properly before even trying to fault-find your software... but back to your problem:
Try coding the PLC to scan the entire input buffer (using a Read Input Byte-type command) for the end-of-message delimiter, counting the number of characters as you go. Assuming you are expecting a fixed-length response, when you get to the delimiter, if your count = the number of bytes you expect, (1) copy the entire input buffer to a PLC data string for processing and (2) clear the input buffer. If the count is *not* correct, clear/reset the buffer and wait for the next data packet.
With AB PLCs, it seems that each time you copy data from the input buffer you need to issue a buffer clear/reset command otherwise you will get junk the next time around. You can try using a Read Input Word-type command, but I've found in the past that if you get some data corruption and don't get the delimiter, you don't get any valid data either - just junk!
To test all this, use the lowest possible baud rate (like 300baud) and increase it only after you get things going again.
Good luck!
Cameron:-)