In all honesty, without having a third party type reporting system, this would be nearly impossible to do without more manhours in development than what its worth (I use BoxTone for the first two items). I would recommend that if its important enough to the business to have this information, then they will need to fork over some money for the purchase of products that can do exactly what they wanted (or they could spend more on giving you a raise and bonus for figuring it out on your own

).
Historical GPS tracking can only be gathered by a third-party application. As of BES 4.1 SP6, I have yet to see the Lat/Long columns populated in the BES. Wallace Wireless, which is centered around BCP and Emergency Communications, had perhaps the best looking module for doing just this, although I don't think that's necessarily reason to purchase the whole product, of course.
As I said, if its important enough to the business, money should be spent rather than time being wasted. For example, for the second item, you'd have to track EVERY message and action on this message (read/delete changes from handheld/client), compile all of that information into a database, and then spit it back out into a format they could use. Usage should not be limited to how many messages someone received or sent on the device, as that is FAR from accurate (I could receive 10,000 emails per day and only send none and be considered inactive, although you don't get the insight that I actually read 8,000 of those messages from my device and responded accordingly through phone or in person).
Applications can be tracked in the database fairly easily, but you'll have to parse out useless information and merge the data from user information in another table. I'm not really sure how to actually do all of that, but I'm aware of where the data needs to come from (with regards to the database). You cannot track actual usage of the applications to my knowledge - only what is installed.