Mark,
While it had nothing to do with selection sets, it had everything to do with the fact you are trying to pass lisp and VBA variables back & forth between the 2. Again, he was trying to steer you away from the inevitable head banging that will occur (is occurring?).
In that thread that Glenn mentioned, you say you don't like the FileOpenDialog code because it's so long. Thing is, it's already written so it's not like you have to rewrite it every time it's used. The same, exact, thing holds true when you use the VL.Application. THAT code is probably much larger than the one you are trying not to use. No, you don't see it, but it's there just the same. So instead of adding one small bit of code to your macro, you reference one which is much larger.
Does that make sense? Please note I'm not trying to lambast you for doing it the way you have. I'm just trying to explain why others have tried steering you in other directions. Many of them, myself included, have been down the road you are on.
The following should have been placed in that other thread, but I'm typing now so here it is.
And, FWIW, I DO use the VLAX.CLS in all of it's ugliness, in association with another one Frank O put together, the CURVE.CLS, which exposes the (vlax-curve-*) lisp functions to VBA. Sure they are ugly, but they are tools that worked to get the job done without having to reinvent the wheel. However, if there was a VBA specific way to get Curve data without the VLAX.CLS & CURVE.CLS, I sure would've jumped at the chance to use it.