Which TM are you using? The old TM or JBossTS?
Why should it throw an exception and to whom?
The JTA and OTS simply say that if a transaction timeout goes off the transaction will be rolled back automatically. Most of the industry TMs I've come across over the years handle this with a separate thread by either marking the transaction as rollback-only at that point (the old TM) and waiting until the thread which created the transaction tries to terminate the transaction (and then forcing a roll back), or (the more common case) have the thread run periodically and do a rollback on the tx when the timeout expires.
Are you expecting the act of rollback to go round and interrupt the thread that was associated with the TM?