Das Problem hat überhaupt nix mit Bindings zu tun sondern mit dem schrottigen TSpinEdit (nicht umsonst befindet sich diese Komponente unter Samples). Schau dir GetValue an und du weißt, warum dort ne
Exception kommt, wenn der Text leer ist. Nur der Author selber weiß wahrscheinlich, warum er dort nicht StrToIntDef benutzt hat (vielleicht gabs das damals noch nicht). Dieser Fehler würde auch kommen, wenn du im OnChange ganz einfach
Label1.Top := SpinEdit1.Value
geschrieben hättest.
Nachtrag: Die
Exception wird sogar geraised, wenn du einfach den Text im SpinEdit löschst und dann mit Pfeil hoch oder runter änderst. (GetValue wird getriggert)