I've taken the Missile Command-style minigame a good bit farther.
I'm trying to decide if I want to really insert these into the normal progression of levels, or put them in some other 'bucket' of stuff.
For a game like Plants vs Zombies, I think minigames work just fine in the flow - they interrupt a progression that you otherwise can't alter.
Monster tower lets you play any previous level, much more in line with Angry Birds or something like that - you can repeat them for stars.
I sort of feel like minigames that play substantially differently from the main deal really belong in a separate menu. They are too different to just plop into the regular flow. I think they need to be unlocks for hidden achievements, or for just reaching certain levels. The mechanics change SO fundamentally when you switch to them that it is jarring if you don't expect it.
I still think there are plenty of big variations that can be done in the normal level flow ( conveyor levels, which are in, and maybe a warring castles level, immovable chicken levels, low-gravity, objects raining from the sky, so on and so forth ) as long as fundamental touch interactions don't change for those.