Are there drawbacks having to having TP in the stored procedure rather than the Command Object I should be aware of?
Not really. As long as the command object is the only thing you are trying to do at that time.
When you have multiple BOs and you want them all to save to the DB as part of a transaction then the DB transaction model is a poor choice. In this case it is far better to start the tr in the BO layer and pass it around for all BOs to use.
So for consistency sake alone, I would remove the DB tr code - so you do not get confused about when to use which model in the future.
Joe