A few years ago, I managed to add a new report to GnuCash (specifically, an invoice format requested by a consulting client), but it was difficult because I couldn't find documentation on the application-specific APIs. The Scheme part itself was easy and a great choice for this.
If you’re handy python, check out its python api. Another method is to have gnucash store it’s data in a MySQL database, and query that directly. But I agree that having more powerful reporting built would be nice.