@jott: Had a look at your source - we're very much in agreement
Not sure about the constant 0 DWORD in the dir entries, but (potential) compression type might be right, since that's what I remember it used for in (I think) VIMA compression for either CMI or GF.
I'm looking into the 0x28 table right now...
I guess you did so already, but you might want to swap width and height when reading from the .dxt file, since height is stored first (FourCC - Height - Width).
Blabbering here - just got confused (for the 29th time in the past 3-4 years) by DDS_HEADER storing height first :P