The problem with this is that the little box with the arrow is still squared. How can I “shape” that to conform with the box (border topleft and bottomleft 90 degree, while topright and bottomright rounded)?
It has nothing to do with the browser, it has to do with the OS underneath.
Browsers don’t have their own interface objects, they use the ones the underlying OS provides for them.
One good example of transformed select elements is Google Translate. A good VISUAL example. The mark up has some semantic problems.
Like Eric said, a JS/CSS solution is required. It would be interesting if Paul would start his quizes again and challenge us to find a pure CSS way for a custom select element skin.