Ne razmišljam(o) "by the book" nego "by the myrphy", pa na primer:
INSERT INTO Tasks (...)
<-- UPS, SOME ERROR... -->
INSERT INTO Assigments (id_task, 0)
ti bazu dovodi u bezveze stanje, ili što bi knjiški moljci rekli "nekonzistentno"

Nije naivno, posle se task neće ni kod koga prikazati. Ono jest da postoje transakcije, ali opet nisu ni one šampion brzine...
Imho, treba koristiti sve elemente koje jezik (sql ili neki drugi) pruža, pogotovo što su megaherci svaki dan sve jeftiniji
pozz
ps. svakako bi bilo najbolje meriti rezultate za svaki konkretan primer, bez toga je bez'ze išta pričati.