Database.InsertRecord - Use with a database transaction?

When using Database.InsertRecord Can these calls be wrapped in Database transaction?

I do.

Absolutely! If you have a number of them it can greatly increase the speed of your inserts. Just remember to check for the database error on the Begin Transaction and after each Insert so you can property Rollback/Commit at the end.