The 'Programs and Features' control panel app has a 'last used on' column, but it is blank for all my installed apps.
I am not sure if there is pre-existing software which can accomplish this, but for a stock Windows 7 installation, no, there is no way. This is simply because there is no user-accessible metric detailing how often you launch applications, or rather, which executables are constantly running.
The good news is, this appears to be an easy program to create (Python might come in handy here). I would judge a user's "most used apps" by how often those programs show up in the system process list, not CPU time or launch counts. You could get a Python script to continually poll your running tasks (i.e. get all running processes every 5-10 seconds), and create a quick SQL database to store a "count" of how much each process was found.