Short answer, when using the JTATransaction factory hibernate will actually locate and begin the user transaction when you begin a hibernate transaction. If the user transaction is already in progress hibernate hooks in with it.
Have a look at the begin method of the JTATransaction http://fisheye.jboss.org/browse/~raw,r=9601/Hibernate/trunk/Hibernate3/src/org/hibernate/transaction/JTATransaction.java
My understanding is that if you're always running in a JTA environment you can basically use Hibernate Transactions and User Transaction interchangeably.