(because the other options keep firing all the time and OnKeyUp fires only once per key press)Does the OnChange-event happen all the time? More than the keypress-event???
Is OnKeyUp/Down firing when you copy/paste Text into a TEdit?Yes, it's triggered bij the CTRL and V keys.
EDIT: Just tested on Windows: KeyUp/Down fires for Copy/Paste (Probably for the pressing/releasing of CTRL and C/V)
It doesn't fire for KeyPress
So if you want to do something when the TEdit.Text changes (keyboard, mouse or in code), you'll need to use OnChange.Agreed. And as the OP posted: OnChange doesn't fire for him when in echomode=emPassword under Cocoa.