Are you using InnoDB?
This sounds like a MyISAM issue.
MyISAM does table level locking. InnoDB does row locking. So a transaction should not hang
in InnoDB unless two processes are attempting to modify the same record, whereas it can
happen in MyISAM if two processes are trying to modify the same table.
EcoReality Co-op, http://www.EcoReality.org
2152 Fulford-Ganges Road
Salt Spring Island, BC V8K 1Z7 CANADA