Why isn't transaction replacement supported? The wiki article on contracts talks about the best stuff you can do with delays and replacement. (Lock time and sequence numbers, respectively.) But according to the documentation, replacement isn't supported yet. Why not?

(If the answer is "it's not implemented yet", why hasn't it been?)
That's not correct. The nLockTime field is implemented. It was deliberately switched off some time ago in order to reduce the complexity of the protocol. The reason was a series of protocol-based attacks that had compromised the integrity of the system.

At some point the feature will be re-activated. Probably, after someone has written a comprehensive test suite and technical analysis showing that it's not risky to re-enable.