Sounds like you're using the Microsoft JDBC driver for SQL Server 2000 which requires you to load an extended stored procedure before using XA Datasources.
From the READ.ME
"If you want to use JDBC distributed transactions through JTA, you must
install JDBC XA Procedures. See "SQL Server 2000 Driver for JDBC," in
the SQL SERVER 2000 DRIVER FOR JDBC USER'S GUIDE AND REFERENCE for details."
Also sugest you take a look at microsofts site and grab SP2 of the driver and read the docs on XAConnection.recover().