Wow, you're right, xfce seems to perform correctly on that opengl test program.
Unfortunately some of the other test programs I'm using aren't working on it For instance, I have a copy of firefox's desktop entry with no changes except the Exec line is "pinta" instead of "firefox", and in xfce and other DE's the result of that is Pinta with the default icon, not firefox's icon and not pinta's icon.
On Ubuntu this test program sometimes produces an icon which appears to be a blue square with a fuzzy white border...I have no idea wtf that is.
We're clearly missing something huge and fundamental about how icons work on Linux. Neither the Icon line in a desktop entry nor the icon_pixmap hint sent to the X server come close to having a strong correlation with what actually appears onscreen.
P.S.: I can see why you use xfce though. Just from doing this testing I'm already liking what I see of it.