I have some information that may be helpful. This bug report...
... describes a problem that I also had when using Grip cd ripping software (under Fedora 11, in case it matters).
For me, every time I inserted a disc (after the first one), Grip complained that the "location is already mounted" (but the software continued to work correctly anyway as long as I inserted another disc when Grip opened the drive door.
However, if I closed the drive WITH NO DISC IN IT - an empty drive - I could not get it to eject through any combination of "eject" commands, pushing a paper clip in the manual eject hole, etc.
However, at a command prompt...
$> lsof |grep gvfsd-cdd
I bet you will see /dev/sr0 (or whatever device your cd/dvd rom is).
Apparently a library that Grip uses (and probably other software as well) doesn't properly release the drive, even if you close Grip.
At a command prompt...
$> ps aux |grep gvfsd-cdd
If you are certain that the drive is empty and that it isn't doing anything useful, kill that process.
The eject button will again work.