For the two primitive types xs:gYear and xs:gYearMonth, if the value is input with the year as -0001, then it is displayed on output as 0000. Year numbers of -0002 and earlier are displayed correctly. (Note that 0000 is not accepted as a valid year, and -0001 means the year before year +0001. This is changing in XML Schema 1.1, and will probably change in some future Saxon release as well.)
A patch (to classes GYearValue and GYearMonthValue) will be placed in Subversion for the 9.1 and 9.0 branches.