For instance, if I activate simpleFloat and try to use keysMoveWindow,
the decoration simply disappears. Moreover, if I remove the call to
`float' from keysMoveWindow, I end up with two separate pieces: the
window moved and its decoration. Any idea how it can be fixed? Or are
those fundamentally incompatible?
I think you're seeing just how much of a hack Decoration is. :)
It's entirely possible that we're missing rerunning the layout somewhere; the core assumes float windows are in some sense independent of the layout and probably so does keysMoveWindow as a result, but Decoration is hooked into the layout.