Вы не решаете начать и совершить транзакцию, исходя из технических или эксплуатационных соображений. Вы решаете делать это на основе того, что, по вашему мнению, должно быть сделано атомарно, согласованно и изолированно от других транзакций. Читать http://en.wikipedia.org/wiki/ACID.
Если вы хотите убедиться, что все вставки либо успешны, либо неудачны, но вы не должны находиться в состоянии, когда половина успешна, а другая половина неудачна, тогда ваша транзакция должна инкапсулировать все вставки: вы запускаете транзакцию до первого и передайте его после последнего.
Если, наоборот, вы хотите, чтобы каждая вставка выполнялась в своей собственной транзакции, и, например, была в состоянии перехватить исключение в случае сбоя одной, но продолжить вставку других, тогда каждая вставка должна выполняться в своей собственной транзакции, как ты делаешь.