you can enable vblank sync and measure interval between frames. You can do it on app startup, so in that way you can calculate the real frame rate.
Uhh... no, this is a terribly messed up hack solution to a non issue.
Actually, sometimes its needed, because the system may report invalid frame rate and the real one may be a little different. In some cases, when refresh rate is used to synchronize output it may cause big issues...
The best way is to use QueryPerformanceCounter on windows platform. I remember that I even read some article about it which describes pros and cons of using TSC vs QueryPerformanceCounter for such purposes.
I'm agree that it's hard solution and is not intended for usual graphics projects. But using such technique is very useful for realtime monitoring of renderer performance.