I got it fixed for Windows 7 and Vista ina minute doing this:\
Got to "Edit Start Menu > All programs >> Mouse over image" and add the a transparennt TGA for the "Mouse over image",
once this image is set, the OS do not paint the solid color behind it, it's a OS thing.
Now bout XP: this Win7/Vista trick does not work because XP is quite old now and uses the cclassic selection color for that area,
I see you using the old All Programs arrow trick by pushing negative margins for the text, that's the main problem on XP, that
trick neverreally worked as if you set the right values there in English, it will get broken in other languages like German and
French or even if the user use a custiom DPI in his system, I would just make the All Programs back image without the built-in
text and arrow and then add the text as a Font presset and the arrow as a regular arrow, then use themargins to fit the classic
selection inside the tube you have painted in your All Programs background, I know it's will not as good as you original idea
but this is a safer way, you get a squared selection but you prevent other issues in your skin.
Remeber that this limitation is XP related only and it's OS limitation and on Vista and windows 7 your original design will work
really well adding that "Mouse over image" I told up there.
Sorry if I couldn't guve you a better solution for XP like on Vista and Win7, but I really tried alternatives.