I've also had the same problem (crashing 3rd party apps, can't play songs bought before I got the iPhone 3GS, etc.)
Took it to the Genius bar last week and they purged the whole phone in the store. Before I reinstalled all the stuff off my computer (XP), I could download 3rd party apps and they worked fine. As soon as I resynced the iPhone to my computer, the problems started again.
Made another appointment at the Genius bar for today, and they replaced the phone for me on the spot (NEW, not a refurb.) Got home and synced the phone up, and it's working great---BUT it's still got the 3.0 firmware on it. Given that it works just fine, I really don't see the point in upgrading to 3.0.1 at this time since the Apple tech said that once I update the firmware, there's no way to roll it back to 3.0 if the 3.0.1 causes the problem again.
Anyway, just wanted to provide you all with how I resolved this. Good luck. I hope your apple store is as helpful as mine was, and you end up with a new phone too!