I think I figured out why this happens. As it kept on happening to me with Monkey Ball. It seems that when the phone has taken up too much memory it just drops the app you are currently using / launching. Monkey Ball would constantly fail to load at all for me, getting to the first screen or second screen in the loading procedure before dumping me to the dashboard.
The reason why I came to the memory full conclusion is that after getting sick of my apps dropping back to the dashboard, I started to go back into apps that I had previously loaded and clean them up. Safari is a big one. Close all open tabs and maybe load a simple web page on the one remaining (like google). Clear SMS conversations, clear a few emails. Usually all I have to do is clear the tabs in Safari though, and Monkey Ball starts up first time every time. Without fail.
There's no doubt the iphone is a buggy mess. I often wonder what Steve Jobs must be thinking. I mean, sure the phone is selling like free weed in the ghetto. But he must be very upset and angry that it's crashing all over the place for just about everyone, and generally just a pain in the ass to use. Embarrassing too, when you are trying to show off something to your friends and it doesn't work. Especially when it's an application you paid money for. But at least when something crashes it doesn't lock up the phone. That's a positive I guess. My last phone would crash and I'd have to do a hard reset. Others I know have to remove the battery. Granted, those crashes don't happen often though.