Found the solution to my last problem.

In the AddNodes procedure I changed:
ftn.PopulateNodesOnDemand = (subDir.GetDirectories().Length > 0)
to be
ftn.PopulateNodesOnDemand = (subDir.GetDirectories().Length > 0) Or (subDir.GetFiles().Length > 0)

Now when a folder doesn't have any folders, but has files, the files are listed.  

Thanks for the program, pretty nice.