I'd hazard a guess that If I do it in BOTH places, there will be "limited" issues with transaction management.
I suppose a reason I can think of for having a transaction up at the application level is so that business specific logic, potentially not available in sprocs (i.e during the collation and computation of something derived from the data retrieved, or enforcment of "business rules integrity - for want of a better term) can force a rollback.
Thanks,