i tried going through the ListCtrl example
You'll probably find the Minimal and Notebook easier to get your head around, since they don't do very much. The others get a bit more complicated much more quickly.
how do I identify if the ChildFrame is still open?
Perhaps you need to create a new Type for that too, which has a flag on it. Otherwise, you have a basic problem because of this - "Field ChildFrame:wxFrame" - which adds a reference count to the ChildFrame. So, even though when the frame is closed and internally you drop 1 reference, you still have your own reference of it, and therefore ChildFrame will never change to Null.
But that's a design problem ;-)
Maybe your parent window can keep a count of the number of child windows, and when the count is zero you don't need to ask any more...
There is a GetChildren() on wxWindow, but I don't think I've implemented it yet - plus that would return you a list of *all* children : frames, panels etc...