Is your data stored as low precision? You can check this by looking at its properties from ArcCatalog. I would think that copying and pasting the data would automatically create the data at high precision in the 10.2.1 database, though. What happens if you create an empty feature class in the 10.2.1 database with the same exact field structure as what's stored in 9.3.1 and then use the Simple Data Loader to import the records?
So it's just that one feature class causing issues; might be something with one or some of the records in that feature class. Can you try loading the data using the method I described above for that one feature class? In ArcCatalog, right click the 10.2.1 feature class and click Load, then pick your source 9.3.1 fature class and map the fields. Usually, if there are issues with specific records, the Simple Data Loader will list the OBJECTIDs so you know what needs to get fixed.
One more thing, please provide the exact version of SQL Server you are using (Express 2008R2, Enterprise 2012, etc.). Hopefully you are not using SQL Server 2005. ArcGIS 10.2.1 supports versions of SQL Server 2008 and 2012 but does not support SQL Server 2005.
It might be a data type issue with that particular feature class whereby SQL Server 2012 doesn't like something from SQL Server 2005. For the problematic feature class, perform an SDELAYER -O DESCRIBE_LONG in 9.3.1 SDE command line:
This isn't surprising, actually. Glad you got things working. After the initial copy, you should be able to manage all of your data moving forward with the 10.2.1 client and your SQL Server native client on 'System A'.