Long chains of unconfirmed transactions are a very bad idea; I'd vote for limiting the depth of the recursion to something reasonable.  I am very tempted to limit it to a depth of one, and eliminate the recursion all-together.