If you measure the framerate once a second, and base your timing off that it's not accurate and certainly not frame rate independent.
I get the current time at the start of each frame and use it for doing the physics. The FPS counter is completely seperate so I don't think it has an effect on the physics.
Well, getting away from caring about framerate beyond vsync is a good thing, in my opinion. I'm glad you got that out of the way early.
When trying to figure out how to use vsync in SDL, I was told that vsync doesn't work in windowed mode since the draws are managed by the OS. If I modify the program to use SFML instead of Allegro, vsync doesn't work and the animation is not smooth so I feel that using Allegro's vsync is kind of cheating and not an actual solution (since if I decide to switch to SDL and SFML the problem will show up again).
It sounds like your smoothness issue might have been from having different amounts of progress between each vsync.
Yes, that's what I'm thinking as well so I'll try and figure out if there is a way to solve this.