I've had this problem numerous times over the past few years (every 3 months or so). When the bowl doesn't hold water anymore, I put on a latex glove, grab a good dab of vaseline and work it around the upper and lower edge of the rubber seal. I have found that mineral deposits and other nastys coat the seal surfaces over time causing voids. It just needs to be cleaned real good and lubed. The works well for me.
It isn't for the faint of heart but give it a try. Btw, turn off water first and don't have the bath fan on.