Application freezes in idFTP.Put method

Hi all,

I'm sorry about my english.
In my application I have an idFTP component and after calling method "Put" the application freezes.
One of the goal that I must achieve is to limit the users quota. To perform this I use the Windows 2000 quota management. Therefore, when a user tries to upload (calling idFTP.Put) a file, and the upload is interrupted by the quota management, the FTP server responses with a 10054 error (Connection reset by peer). Then, in my client application I catch the exception and show it to the user.
The problem is that if the quota limit is reached at the end of sending all bytes by the Put method, the application freezes. I go inside of idFTP.pas unit and detect that the freezing occurs at the end of TIdFTP.InternalPut(const ACommand: string; ASource: TStream) method, in the line GetResponse([426]) (I go inside this call and found that the freezing is for a "while" loop that goes infinite).
In the original unit I did the following changes...
if GetResponse([225, 226, 250, 426]) = 426 then
   raise exception.Create('10054'); // add this line
   GetResponse([426]);              // comment this line
With this changes the error does not occur anymore but I'm in doubt if the line supressed could implies other errors.

By the way, this is the method that I found to limit the quota but if you know other please comment. I don't like much the catch of this exception (10054) because this can occur due to any reason that implies a connection reset by the server and not only by a quota limit reached.