I have formica counter tops that completely lost their protective coating long before I moved in. Stains set IMMEDIATELY so this is a battle I've been fighting for a while. I've found that cleaning the counter with several products in a specific order gets most of the stains up.
First, I scrub the counter with soft scrub and a scrub brush.
Second, I use a cleaner with bleach. This gets the stain out (mostly) but turns the counter yellow)
Finally, I spray the entire surface with "The Works" cleaner and let it set for a moment. What this does is remove most of the yellow stains caused by the bleach.
Just be sure to rinse the counter thoroughly between step to avoid chemical reactions. Also, make sure none of the cleaners get trapped under something on your counter top, especially "The Works" It'll do some damage.
All this is a lot of work so if anyone knows of a way to reseal the countertop, I'd appreciate hearing about it.