For me top waters will work all day long from mid spring to late fall, you just have to put them in the right places. The shady side of any cover for example and hard to reach places such as a big overhanging tree. Cast them to your target and let them sit there until all the ripples are gone and then work them slow with pauses. There also great when the bass are away from shore busting shad to the surface or if you have some structure down deep, a lot of times bass will suspend above such and can be called up with a top water.
For the river fisherman, eddies are prime targets for top waters, anything that breaks up the current is a good place to throw a top water. The down current side of Logs, big rocks and such.
The key is to work them slow and to keep them in the strike zone as long as possible.
However with that said, having a backup plan for those times when they just won't hit the surface is a good idea. No lure that I know of catches bass 100 percent of the time, so it's always good to have something else ready to go. Like others have said, early and late may be the best times for fishing on top, but they will also work anytime of day if your fishing in the right places.
Hope that helps.