I wish I could help more, but this thread and the other represent my only exposure to CAN bus programming. In other words, I'm just pulling what I can from the manuals.

You say the old code runs with near 0% CPU utilization. What is the difference in functionality between that and your new code?

gg