I believe it is required in the latest SQL standard. (correct me if I'm wrong, I haven't actually read the standards docs)
One of the reasons that it will be required in future versions is because the T-SQL language is getting more and more complex, and it's getting harder to write the parser so it can always figure out where the statement ends and where the next one starts.
That's why the MERGE statement has to end with a ;, and why the statement that preceeds a CTE must end with a ;
T-SQL is one of the few languages that's completely white-space agnostic, yet has no statement terminators.
p.s. It's Itzik Ben-Gan
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