Is there a way to ensure that a SQL Server trigger will be executed?
Yes.  Triggers occur as an implicit nested transaction within the scope of the caller's transaction.  The trigger will commit or roll back as part of this transaction.

See:


Nesting Transactions
Rollbacks and Commits in Stored Procedures and Triggers
ROLLBACK TRANSACTION (Transact-SQL)