Tested a profile with the color.org tools, it worked. I get one warning in ProfileDump validator though - unknown CMM, but it should not warn on that, the standard clearly states 0x0 should be used if no specific CMM is preferred, and that is also what many other profiles (including C1) use.
The profile was generated by the Linux build though, maybe there was some issue with the windows code, there are some specifics there. Investigating...
Edit: Tested your windows compiled version and indeed it makes invalid profiles, investigating why...
Edit2: the htonl/nthol macro code I copied was bad, it assumes the compiler defines BYTE_ORDER LITTLE_ENDIAN etc, and if it doesn't the code is written such that big endian becomes default ie all words in the icc gets in the wrong order, it doesn't look like that but C preprocessing has some traps... will fix and release a patch soon.
Edit3: updatated code and uploaded, hasn't been out for many hours so didn't care to change patch level so it's still at
http://www.ludd.ltu.se/~torger/files/dcamprof-0.6.1.tar.bz2I don't know if mingw defines __BYTE_ORDER__ like gcc do, but if it doesn't you should get an error message not silent accept big endian like before... if you do get an error with Mingw please let me know what macros it uses for byte order identification.