If you are using a slow db connection you can see that the spinner is spinning, indicating that it is Ajax/HTML5 which changes the url.
R U 100% sure? I'm on a quite fast connection (localhost, dev environment), I don't see spinner at all (TbGridView seems to be dropping this idea), but I do clearly see, that something is added to my URL (actually, not something, but exactly the same URL parts, as when CGridView is not using AJAX-update). Speeds are nearly or exactly the same, no matter if I use enableHistory or not. So I assume, that my CGridView dropps out of AJAX-update, when I'm using enableHistory, only basing on my URL changes. And the fact, that when enableHistory is turned on, I see spinner spinning in my Chrome tab's icon.
But, this is side-talk, whether this works AJAX-less or am I only thinking it is. The key problem here is, that either I'm missing something, or enableHistory does not work at all. I have HTML5-enabled browser and I can't reproduce "persist state of grid across page revisits", as I shown on my examples.