I wrote:
Note: my WinXP install has several different versions of comctl32.dll, one of which matches the shell32.dll version, but I have at least one configuration where I know the result really is wrong (as if the result from the other DllGetVersion call was being cached).
To alleviate possible confusion, what I meant to write is that it's as if the other DllGetVersion was being called instead of the correct one.