Für den Fetch kannst du die Spalten an Datenfelder des Programmes binden. Dazu sind Spalten-Nr, Zielfeld und Typ erforderlich, so dass ODBC hier ggf. eine Typwandlung durchführt.

Du musst aber keine Bindung machen, du kannst auch nach dem Fetch jede Spalte einzeln (über die Nummer) den Wert auslesen.
Mit Bindung stehen die Felder automatisch zur Verfügung.

Ich kenn jetzt die VARPG-Implementierung für ODBC nicht, aber du kannst die Anzahl der Spalten zur Laufzeit ermitteln und entsprechend reagieren.

Wenn du allerdings mit SQL und Windows umgehst ist eigentlich VARPG die schlechteste Alternative.
Sehr schön kann man Anwendungen mit VisualBasic6 oder VisualBasic.NET entwickeln, da gerade hier durch ADO und .NET-Dataprovider alles ganz einfach wird.
(Und Java soll da auch gaaaanz einfach sein.)

Naja, wenn du allerdings VARPG nur zum Lernen nimmst, mags ja angehen damit zu entwickeln.