This error is probably given because the stored procedure is expecting to work on a logged database.
Apparently, you db is not logged, explaining that the SP works without begin/commit.
If you can modify the source of the SP, and allowed to do it, what you can do is to add a "raise exception" on BEGIN WORK, COMMIT WORK and ROLLBACK WORK, so that it does not fail if the db is not logged.
Not very beautiful, but it should work.
THe other question is "why isn't your database in log mode"?