I found that the rollback condition has changed in the Schema Compare script.
Sample from 5.6
IF @@ERROR <> 0 OR @@TRANCOUNT = 0 BEGIN IF @@TRANCOUNT > 0 ROLLBACK SET
NOEXEC ON END
Sample from 5.7
IF @@ERROR <> 0 BEGIN IF @@TRANCOUNT > 0 ROLLBACK SET NOEXEC ON END
This change was by design to simplify the statement.