CAS 2.5 is stable, but CAS 2 generally isn't. Is this true?
Well, it's not possible to really label one CAS setting as "stable" and another as "not stable", as the stability of a given setting depends pretty much entirely on the RAM being used, and the speed the RAM is clocked at. For example, if you have some cheap Value RAM installed and are running at DDR400 and default voltage, CAS 2 is very likely to be completely unstable (and CAS 2.5 will likely be stable in most cases, although sometimes even 3.0 will be necessary). This has nothing to do with any problems with the CAS 2 setting itself, and is entirely the fault of the Value RAM, it just can't perform well enough to function with CAS 2. If, on the other hand, you have RAM that's designed to operate at low-latency settings and are running at the specified speed and voltage, there should be no stability problems at CAS 2 (assuming that the RAM is rated for CAS 2).
As you overclock (say, trying to run the RAM at DDR500 instead of DDR400) it also becomes necessary with most (okay, pretty much all but the very high-end stuff) RAM to move away from CAS 2 and start running at CAS 2.5. Again, this has nothing to do with the CAS 2 setting being inherently unstable, it just means that the RAM module cannot continue to perform with the low latencies necessary to allow CAS 2 to work. By way of explanation, what the "CAS" part of the acronym translates to is "Column Address Strobe". A simple way of understanding what this is is to think of RAM as being a two-dimensional grid of bytes (with rows and columns). Any byte in the grid can be found by specifying its row number and its column number. The "Column Address Strobe" is the amount of time, in clock ticks, that the system signals the column number of the byte (well technically, word, but that's not important) it is looking for. Thus when using CAS 2, the signal is asserted for 2 clock ticks. In order to perform stably at CAS 2, the RAM must therefore be able to respond correctly to the column address strobe within the timeframe of two clock-ticks (or less). Now, as the RAM clock speed increases (say from DDR400 to DDR500) the duration of a single clock-tick becomes shorter (e.g. where 400 million would fit in the span of a second at DDR 400 (yes, I know that DDR400 is really only running at 200 MHz, but I'm trying to keep things simplified), at DDR500 you can fit 500 million clock ticks into the span of the same second, meaning that each clock tick must be about 20% shorter than at DDR400). This means that as you increase the RAM clock speed, the amount of time it has to respond correctly to the column address strobe (and other signals) becomes shorter and shorter, and eventually it is no longer able to respond within the necessary time-frame, and this is where the system starts to become unstable, and this is why higher CAS settings will offer greater stability.
...but anyways, like I originally stated, it depends on the RAM. Some can take the lower-latency settings, and some can't, and it basically just depends on the quality (which usually translates to "price") of the module.