If we're talking a cast iron radiator, it's a good process.
First you need to remove the old finish. You can get it sandblasted, or you can get in there with some sandpaper for a few hours. A wire wheel on an angle grinder can get out a good bit, or you might have luck with chemicals to strip them. If you do use chemicals, you'll have to wait for them to totally dry, then sand the bare metal of the radiator just to make 100% sure all of the residue is gone and the surface is rough enough.
Next, you'll want to clean with a deglosser, to make sure all the sanding residue is gone, along with any other junk in there. The paint won't bond so well without it, and with something that expands and contracts as much as a heater.. you want to make sure it's thoroughly clean.
Now it's time to protect your walls and floors. Get a drop cloth, cut a slit in it and slide it over the unit. Tape it to the walls, tape it to the floor, and tape up as much of the slit you made as you can.
You'll then need to prime it, and you'll have to chose the primer based on the paint you end up with.
Time for paint. Oil based paint should hold up, but you'll probably have better luck with spray enamel paint. Use many thin coats rather than few thick coats. Make sure to read the specs on whatever paint you decide on, make sure it can withstand up to 220 degrees - Just to be safe.
Alternatively, maybe you can look into building a radiator cover.
Best Answer
In all likelihood, you put a modern water based paint over an older oil based paint.
Peel off the paint, Put on a mask and go over the old paint with a random orbit sander just to rough it up a bit. Wipe off the dust with a damp rag, and let it dry. This would be a good time to go to your favourite orange or blue store to get some primer. I happen to like Kilz, particularly for bathrooms. Prime the ceiling, and let it dry thoroughly.
Now paint, letting it dry completely between coats, and avoid using the shower for a couple of days.