Was zum Teufel programmierst du denn da? Hast du dir deinen Quellcode schon mal durchgelesen?
Langsam wirds echt lustig mit dir...
Wenn ein User etwas eintippt kann nicht live geprüft werden, ob der eingegebene Wert korrekt ist. Das ist erst bei der OnExit-Methode möglich. Daher kann ein User auch eine 0 eingeben! Stell dir mal vor, du beschränkst das SpinEdit auf das Interval [3-20] und der User will 20 eingeben, dann würde schon bei der Eingabe der 2 sein Wert korrigiert werden.
Alternativ könntest du dir mal die Property
EditorEnabled anschauen.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)