Strange that a simple water stain cannot be painted over. I'd say it was probably more than just water unless the source of the stain (leak or whatever) hasn't been dealt with. Anyway, guaranteed way to seal oil-based stains before painting, including fly spray stains, timber oils etc is Zinsser...