I was wondering if there was a way to read indexed vision files directly in a C# program, without the use of the XDBC program?
There is. The ACUCOBOL-GT runtime can be called by a C# program (we provide an interface called wrunet.dll). This would allow to have COBOL do the I-O and returns results to C#.
We also have a Vision File System Interface (written in C). You have to contact your Sales Rep as a Non-disclosure is involved when using the FSI.