It was as smooth a day of work as I could have hoped for, except that I still have no idea what's causing our problem, if it indeed has a single cause. I've determined that the problem is exactly what I thought - the program not keeping up with its input. But I can't narrow down why. So it's back to the lab tomorrow for more data gathering as I break things down millisecond by millisecond until I figure out what's taking so much time. I'll get this problem solved yet. At least my testing cycle is pretty short now - it crashes in more like 40 seconds than 40 minutes now. I think it's the multitude of debug prints.
Almost caught up on videos from yesterday. I might fit in some gaming or an episode of Strawberry Panic tonight.