You can certainly build this type of report using a virtual list technique, and a form-builder preferences table. However, since the report needs to build in realtime, I'd imagine your mileage will vary in terms of speed.
ExecuteSQL() is limited in the performance benefits it offers, especially when it comes to summary functions (sum, count, average, etc..). In some cases, ExecuteSQL() can dramatically slow your reporting performance. You will need to think about that.
Accuracy and Correct Titles will mostly depend on your development of this soluton, as will ease of use. You will want to budget considerable time for tweaking to maximize the speed of your scripting. You might want to look up HOnza's guides and products to boosting speed:
Lastly, I'd advise doubling whatever hour estimate you've already given this person that "challenged" you to build this. Custom reporting that's not using the native FM tools is always more difficult than you think it will be.