Steve,
I now have a better understanding of what you are doing. Make a design change so that you either aren't throwing the cursor away and are recording it into a table that has a flag that shows whether or not the data has been displayed in a report yet. You could also display the information in a FORM rather than a report if there isn't that much information. Is your timer event always polling for data off the comm port? Then is it creating a new cursor each time the COMM port has valid data? If so, then you should keep adding to a single table or cursor as described above.