That's not the issue. The developer didn't use the private API calls, they coded their own for achieving the same functionality. Apple blocked it based on the behavior being the same as what is associated with their own apps.
No I don't think you read that correctly. iPads are eligible for a free upgrade to the next MAJOR version of the OS. So you bought 3.2 iPad, you'll be able to upgrade to 4.x for free. If you were to buy a 4.0 iPad in a few months you'd get 5.x for free. Etc.
Not sure if they only did this because 4.0 was right around the corner or if this will be the rule going forward.