A name specified on a rollback MUST match the name given on the outermost begin tran. You have no name on the begin tran, hence naming the rollback throws an error.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability