My framerate counter will be made "normal" next release, hopefully.
Right now it's just counting the number of new frames (so a static image would have a framerate of 0) that are rendered (doesn't include skipped frames). The reason it's going down when you use frameskip, is due to the frameskip working, at least I think.
If you have a framerate of 7 with frameskip 1, you have an effective framerate of 14, since you're skipping every other frame (7*2=14). So if you have a framerate of 7 and frameskip of 2, you'd be skipping 2 out of 3 frames, which would make the effective framerate 7*3=21. So your framerate is 14, but the fps you're used to is higher than that. A good way to see if frameskip is working is to set things to frameskip 0, count the frames being drawn, then set the frameskip and check. If frameskip 0's number is larger than the (framerate*(frameskip+1)) then your frameskip is too high.
Why have I kept this weird framerate counter? Because the GPU is asked to update the screen on an interupt. If I change the timings like I was doing so earlier, the requests to update the screen might be changed. So there might be 100 requests to update that frame in one release in a certain spot in a game, and 60 in another. If I just gave that as the framerate, it would be inconsisent in terms of seeing if performance increased.
The way I'm doing the framerate now, only shows how many frames are actually being drawn to the screen, and nothing more. So if the performance of the emulator goes up, so will that number. If the performance goes down, so will that number.
So it's not really FPS, but more of a "speed indicator".
Maybe in the next release I'll include FPS as well as my current frame counter.