unions are now aligned on alignment requirement, not size
Structures in a header file compiled with Microsoft Visual C++ may not be aligned exactly as were structures in a library compiled with Microsoft C version 6 or earlier. This can happen only if /Zp4 or greater is selected to pack structures on 4 (or more) byte boundaries.
Recompile the library with Visual C++ if the source is available. Alternatively, insert members into the structure that contains the union, placing them after the union, to make the structure the same size as it was when compiled with MS C version 6.
If you cannot recompile to meet the new alignment requirement, you can turn this warning off using #pragma warning(4058 : off).