jonnathan, usa las etiquetas delphi, son muy fáciles de usar. Pegas el código fuente, lo seleccionas y pulsas el botón de "Resaltar sintaxis delphi".
Yo intercambiaría estas dos líneas:
Código Delphi
[-]
except
DB.Rollback;
raise;
end;
Primero deshacemos los cambios y después se vuelve a lanzar la excepción.
Tal como lo tenías, nunca se llega al rollback porque "raise; " corta el flujo normal del programa (se quedaría sin hacer el rollback y sin el commitUpdates).
Saludos