*ligtbulb* !!! I got up around midnight, charted it all out and then rewrote the program. I can't even blame it on .NET - this problem is with a payroll application that isn't using .NET...
Now I just have two more things to work out before I go on vacation...