This is a great start. It's really, really close to providing the standard behavior.
FWIW this XRtn isn't actually implementing the revised behavior itself. Instead it's just intercepting low level events associated with arrow keys (via XRtn callbacks, which get first crack at them) and slipping them directly to WASTE (the text engine SC uses) if an editable field is open, thus sidestepping a passel of intervening code that would otherwise provide the familiar legacy behaviors.
Those 'non-standard' conventions mirror ones found in SC's script and user prop editors (and hundreds of other WASTE-based apps), and entirely predate both TextEdit and OS X.
So like 'em or not, they're already baked into the 4.7 app -- fletch just lets you turn them on in fields. Technically it might be
possible to replace them with something that mirrors Cocoa's mappings, but it would take a
LOT more than the paragraph of simple glue code in this sneaky hack...
-Mark