1 Reports can be done several ways through Enterprise SDK and Resful API
2 Block are within the report so while some identification can still be done with ReBean SDK new development should start with RESTful API
3 Data provider identification cna be done through Enterprise SDK but more detailed info may require the RESTful API or Data Connector SDK
4 in terns of tools most of them write to a database from which you can then write reports on a short list is www.infolytik.com, Auditlaunch.com, etc or look on BOB for one off non supported solutions like these