I also wonder if it's having trouble parsing the time@units attribute. Your 1983-01 solar file has "hours since 1900-1-1 00:00:00", while your 2011-12 file has "hours since 1900-1-1 00:00:0.0", which are different in terms of how seconds are specified.
GSWP3 forcing has "days since 1901-01-01 00:00:00", which is similar to your 1983-01 file except that "01-01" is "1-1" in your file. The datm should be able to interpret hours since or days since. But you could try formatting your units to the GSWP3 format, including changing the "0.0" to "00".
I'm just guessing at this point though.
GSWP3 forcing has "days since 1901-01-01 00:00:00", which is similar to your 1983-01 file except that "01-01" is "1-1" in your file. The datm should be able to interpret hours since or days since. But you could try formatting your units to the GSWP3 format, including changing the "0.0" to "00".
I'm just guessing at this point though.