1. A DNG is a DNG, the raw data is going to be the same between the two. "Darker" is just a result of how the raw development application (ACR, Pemiere, DaVinci, etc.) chooses to treat the file (you can't actually 'see' true raw data or levels, it must be processed, demosaiced, white balanced, and converted to some real colorspace to display on your monitor for you to even view it, there are going to be arbitrarily chosen default values for parameters used in these processes).
Simply increase the exposure in your post processing app and they will look exactly the same. The difference is likely due to some different metatdata in the DNG that causes the raw development program to interpret the raw data differently by default. There is a DNG metadata field for 'exposure offset' or 'exposure' or something like that. There have been a lot of people who complain about the DNGs not matching the camera's LCD screen and 'appearing darker' (this complaint is sort of silly for the reason given above), my guess is that RAWMagic developer utilized this field to make the DNGs appear brighter to match the LCD screen (to appease his paying customers). If you'd like to find out for sure, try comparing the metadata between the two with exiftool.
2. The struct tm has a field tm_mon, on some systems this is [0,11] on others it is [1,12]. That is probably the issue.