OK, I think I've got it now...
According to the bug report:
There are two "year" references for the metadata in the id3 struct:
id3.year (an integer)
id3.year_string (pointer to a string).
The database is only storing the integer value of id3.year;
However, other parts of Rockbox can apparently read either/both and it would appear that the WPS/ID3 viewer is showing the string version.
I'm suspecting that your tagging apps are only showing you the integer version of the tag, which is probably written concurrently with the string version.
I also suspect that a quality app like MP3Tag or FooBar2k should
somehow be able to show both,
I just don't know how... EDIT: In MP3Tag, if you select a track and go View>Extended Tags... then click on the View Fields button you'll get an 'edit tag info' dialog box with a drop-down selection for 'Field'.
Within that list is both Year and Date. I'm betting that Year is the integer version and Date is the string version...
At the very least, it should allow you to see what you've got.