CR is very nearly useless. The designers of the game had no clear idea of what characters were supposed to be able to do, what they were supposed to be able to handle, and that means that, even when nominally the same level/CR, 1. characters have wildly varying capability, because class designers were not on the same page, and 2. monsters have wildly varying threat value, because monster designers were not on the same page with each other or with the class designers.
CR inaccuracies go in both directions. A 3rd-level party can kill the Tarrasque, at absolutely no risk to themselves, if they have the proper preparations. The CR 3 monstrous crab, on the other hand, is a walking TPK to a 3rd-level party (and while you can prepare for it as you can with the Tarrasque, it is notable how similar many of those preparations are, though you do get avoid dealing with ghosts). The CR 9 adamantine horror has at-will disjunction and disintegrate (and just “preparing” for that is a lot, lot harder).
So the solution just about every DM takes is to just try to compare monsters to the party. It’s tedious and the best CR can do is (maybe) narrow down the list somewhat. In the end, you still need to consider what a monster can do and how it will fight, and what the characters can do and how they will respond. Unfortunately, there’s just not really any better option in 3.5. It wasn’t until 4e, really 4e’s Monster Manual III, that Wizards really got a decent handle on encounter design (4e’s DM tools for encounter design are widely considered the best features of that system).
For guidance on how best to gauge monster threat levels accurately, rather than relying on CR, I suggest you read this answer – the context there is how the lack of magic affects CR. There, as here, I point out that CR itself is unreliable, but I also dig into the details of what makes a given monster a threat and how to try to judge that yourself.
Also, another thing is that 3.5 fights just do not last that long. Most fights are decided in the first round; subsequent rounds are just mopping up or chasing after those who retreat. Two rounds is not so uncommon; three is a fairly long fight. More than that is quite rare. The damage, and non-damage methods of removing threats, are just too potent; the game is referred to as “rocket tag” for a reason. Inflating HP values, or otherwise mitigating damage as a threat, does little when it would be even more effective for the party to apply some crippling debuff.