Tony: Just an FYI, when reading in XML, tabs should not matter. When writing XML with .NET, you can set the formatting of the output to auto-tab based upon how each element node is written.
I'm not an expert on VB.NET which it appears what yours is done in, but I at least know C / C#, and I currently use ArrayList<string>'s (not list boxes) to store my data temporarily (not the best way of doing it, but it works).
This is going to change very shortly as I rewrite my code to intertwine with Hyperion a lot more, however.