I have used Genie's internal language to create reports, and used the REXX language to interface to Genie to do more things. Both options are very weak, limited and slow.
Currently I interface to Genie executable modules using Java. This method provides great power, as much as is possible with the existing executables in the EXEFILES folder plus processing the data and reporting and inteface to Excel using Java. You could do just the same with C++. It is quite a bit of work however. I am not aware of any special custom interface techniques that Canberra has published concerning Genie with C++ however.