I have re-verified my initial results - on the original code, I get the following list of categories:
17,25,26,27,28,29,43,44
And on the recursive function, I will get the following list of categories:
17,25,26,27,45,46,47,48,49,50,51,52,53,28,29,43,44
The first result is only the first descent level of categories. The second result is all categories in a depth first search underneath the user-selected category.
I am using VirtueMart 3.2.2
I don't really care if my own method of accomplishing this full depth search is used. I'm certain the virtuemart team can do it better. I'll use whatever the virtuemart team thinks is best, but for my client I needed a full depth return of all products.