Only temporarily -- I'm sure that's a great comfort
MacOS and Vista were designed around a compositor, while X/DRI has a variety of compositors which can be inserted in a non-composited stack. I don't think the changes required will be huge, but there needs to be a standard way to handle buffer queues from app to compositor and compositor to screen so that only completed images get composited, only completed frames from the compositor get displayed on the screen, screen updates are synchronized with vblank, and fixed-rate apps like video playback can either double or drop frames as needed to stay in sync with the display refresh, or that the display refresh can be synchronized to the video frame rate.
Krh's work on Wayland is a good example of "designing around a compositor from day one". Whether the future is something like Wayland or just knowledge and ideas from Wayland going back into the current graphics stack, that's what it's going to take.
The good news is that a lot of this can probably be hacked into the current stack (the current tear-free code in radeon/radeonhd is essentially an innovative hack), it just won't work all the time or in all configurations.