I still don't see why it's necessary to change that much. CABINETDLLVERSIONINFO type is identical to DLLVERSIONINFO, renaming DllGetVersion() function to something else is not necessary. Same for changing function prototype.
Adding version information block to the dll is fine, if it's present on Windows. We usually do that when we find application that checks the version.