Joel, I by far prefer your latest proposal #1. I do however have two nitpicks.
*) The 'guilabel' class is too low in contrast, making the button hard to read for people with poor eyesight. I would prefer a subtle variation of the programlisting class for readability, something like this:
.guilabel{background-color:#eeeeee; padding:2px; color:#0000dd;}
*) Konqueror v3.1.0 doesn't render the border on the guibutton class, but you can hardly be blamed for that. Makes the buttons look like normal links with a bold typeface. Looks as expected in Mozilla.