Good explanation of the issue. The first thing to note is that % Complete for the task is not an aggregate of % Work Complete. You also have a % Work Complete for the task which should” be the correct aggregate (assuming both assignments have the same amount of work). % Complete is a percent of actual/remaining time/duration, and % Work Complete is a percent of actual/remaining work.
There still seems to be an issue with % Complete if a resource has any amount of actual work. % Complete should show some amount of completion, even if it doesn’t show a true aggregate of work complete. That may be a bug. I do know that 2010 still has its share of bugs. Have you updated to SP1? That might help.