From what I understand, KMS is basically working, but it still needs debugging, stabilizing, cleanup, and testing and integration with other new work going on in the stack before it's pushed out.
The devs have said (I believe) that *hopefully* the KMS code with make it into the 2.6.31 or 2.6.32 merge, with the latter being more probable. I believe the time is soon approaching when the devs will need lots of people to test the code to weed out bugs, so keep your ears open.
It's hard to give a simple answer because KMS is built on top of memory management; KMS seems to be pretty far along but it won't get out into general distribution until the underlying memory management is also solid *and* all of the other bits in the system have been updated to work with memory management.
Those last two tasks (finalizing memory management (including newttm work), and getting all of the other bits working over memory management (eg radeon-rewrite) seem to be the main focus right now.
Out of curiosity, how do you force on KMS? I only see docs talking about how to force it off.
Note: Do not do this unless you know how to enter Grub menu in boot sequence and edit the kernel lines there since it can make your kernel unbootable at worst. Better yet, don't ever store it in the actual file but only set it by entering the menu during boot sequence.
radeon.modeset is the variable that controls it. It accepts values 1 (always on) and 0 (always off). It's currently only defaulted on for cards for which it is even somewhat usable.