With a taxonomy of this way
A1--A2.1
--A2.2--A3.1
--A3.2
Where the different levels are parents of a term, the function returns:
A1
A2.1
A2.2
And my expectatios is to bring the whole tree.
I've check that it stops because of the condition is
while ($parent = taxonomy_get_parents($parents[$n]->tid))
as soon as a parent doesn't have parents it stops looking for in other parents, A2.2 in the example.
I've seen in http://drupal.org/node/873414 a similar problem was found in Drupal 6 but the patch proposed in http://drupal.org/files/issues/multiple_parents_0.patch didn't pass the Simle Test.