Tach!
Dabei sollte das zweite INSERT INTO einen Fehler erzeugen (user_ida existiert nicht) und eigentlich doch das RollBack vollzogen werden oder?
Leider ist das nicht der fall. Es wird das erste INSERT INTO eingefügt, aber es findet kein rollBack statt.
Hast du zum einen getestet, dass die Exception geworfen und der catch-Zweig generell abgearbeitet wird? Für Exceptions muss unter PDO der Error-Mode auf PDO::ERRMODE_EXCEPTION gestellt sein.
Zum anderen musst du auch eine transaktionsfähige Storage Engine für die betroffene(n) Tabelle(n) verwenden. MyISAM ist keine, InnoDB ist eine.
dedlfix.