I bet noone believes it's an iBatis problem. iBatis is database agnostic, and if there were some general locking issues with inserts/updates they'll affect every user on this list.
I've not used MSQL for years, any chance its not using row level locking in your configuration? Have you tryed SIMPLE datasource instead of DBCP, or different JDBC driver? These are things I'd try if I were sure that locks are not because of bugs in my application, and if looking into ibatis logs revealed nothing... Not quite helpful, sry
