I opened a support ticket at MS to solve this problem 2 years ago.
It is a long story, but you can avoid this problem by not defining non-working days in the calendar! My problem was that in case somebody entered actuals on a nonworking day, all reported actuals for this person shifted to the start of the project!
I know that this problem was 3-fold, and I know that after SP2 an the next hotfix, 2 parts of the problem were solved. However I never found out what the 3 parts were, so knowing that 2 of them were solved was a crazy idea…
I never used non-working days in calendars anymore in my implementations (in my 2007 period). I worked with a separate “nonworking”-Project File with non-working tasks (with priority 1000 for all my resources to avoid leveling impact) and linked to cost rate table E to keep their actual Cost Zero.