Is there a sure-fire way to get rust stains off of an enamel sink?
Not sure about "Sure fire" but a product called CLR (Calcium, Lime, Rust remover) is a good start.
I've used CLR with some success. You can also try a pumice stone. The stone should be gentle enough to not scratch the enamel, but tough enough to remove the discoloration.
I removed hard water stains from the inside of an old toilet pretty easily with this approach.
I previously tried using the CLR at Scott's suggestion, and it worked to some degree, but did not completely remove the rust stains.
I actually found the answer to my problem this week, pretty much by accident. I was cleaning a particularly stubborn patch on the tile floor, and ended up using a Mr. Clean Magic Eraser on it. While I had the 'eraser' out, I figured, what the heck, let's try this on the sink. It removed the rust stain almost completely, with just barely a trace of it left in a few places. If I didn't already know it was there, I don't think I could find it at all. I'm not sure what this did to the finish of the sink, since the eraser claims to use microscrubbers, which I assume is essentially a very fine grit sandpaper plus some chemical action going on. I couldn't find any trace of ill effects, and it's been about a week, and no buildup has occurred in the area I scrubbed.
Barkeeper's Friend. It's a cleanser like Comet or Ajax.
I've used Lime away with a hard toothbrush; then put the stopper up and the last little bit filled the sink with an inch of bleach and let it sit (WARNING: do NOT use these two chemicals together; one at a time cause it is caustic).