Hmmmmm….never seen this happen with InnoDB.
Re-load from a backup, recreate the experiment, watch your MySQL log file. Did the begin get into the logfile? Does your errorfile show anything?
BTW, it is default behavior for rollback and commit to return 0 rows affected. That's really for select, update, delete although all DML commands return the number of rows affected.
HTH,
=C=