BEGIN se usa en otros DBMS como indicación de BEGIN TRANSACTION. Pero en MyQSL, BEGIN se usa en los SP para el inicio de los bloques de operaciones atómicas.
Para las transacciones debes usar START o START TRANSACTION.
Transacciones en MySQL:
13.4.1. Sintaxis de START TRANSACTION, COMMIT y ROLLBACK
Por otra parte
, Joomla! tiene su propio foro. ¿No te convendría consultar mejor allí para saber cómo se hace en joomla determinadas cosas?
Foro de Joomla!