I've run into some potential problems with the way hotkeys preempt GUI code.....
Example Psuedo-code which could/would crash on occasion with "Array variable subscript badly formatted." Error
HotKeySet("{Delete}", "RemoveSelectedControl")
;...
Dim $InfoAboutControls[4096]
Global $HandleForCurrentControl
;...
While 1
$msg = GuiGetMsg()
;....
;---Code to process moving a control (drag-n-drop)---
If $HandleForCurrentControl > 0 Then;Make sure we have a valid control handle
; *