Por un lado yo apuntaría a resolver el problema de la actualización en el navegador, porque no podrás resolver el problema del rollback por default. Desde el mimo momento en que debes cerrar la conexión sin un COMMIT, no podrás controlar la situación.
Una posibilidad que deberías explorar es la ejecución de estas actualizaciones por medio de Store procedures y crear las transacciones dentro de ellos.
Respecto a esto:
Cita: ¿Se peude modificar dentro de una transaction una tabla InnoDB y otra MyISAM de modo que si se hace rollback la InnoDB se queda sin modificar pero la MyISAM si se modifica?
La respuesta es definitivamente NO. Las sentencias DDL como CREATE, ALTER y DROP contienen un COMMIT implícito que no puede desactivarse. Esto también corre para, por ejemplo, Oracle. Oracle por su lado creo una serie de características que permiten resolver los DROP por medio de diversos recursos, pero no es el caso de MySQL. Lo que creas o destruyes queda así.