Pues todas la tablas en su inicio están vacias. Y es a través del Grid que voy a ingresar datos a la tabla.
Le estuve dando vueltas al tema todo el día, y me parece que lo que vos preguntas, es lo mismo que asume el VB, al encontrar el recordset vacio, establece que siempre estará así.
Hay que chequear el Recordset si está vacio, y en ese caso no declarar el DataSource del MSHFlexGrid (Set .DataSource = rst) hasta que se haya agregado datos en la planilla., o dicho de otra forma enlazar el control en el momento que contenga registro que mostrar.