Under Delph2007 if the ComPort has been opened and is left open, a close call can hang.
The problem appears to be that the TComThread event loop doesn't receive the stop event and continues to run.