I suppose that's true. But then you'll have to modify MAD so it does byte packing on the structs (as all Windows structs are), and that might be a performance hit.
Either way, if MAD is to be built as a standard DLL, a binary interface must be specified.
Since DLL are made to be used in Windows, and that lots of MS DLL uses structs, I guess that ANY compiler which uses DLL can use at least the same format as the MS ones. So I don't think it's such a problem.