When you close a channel window without using the /part command, mIRC simulates a PART event internally to make sure that the channel window is closed immediately, mIRC then sends a PART message to the server. The server then replies with a PART event, confirming that the channel was parted.
This approach provides immediate GUI feedback to the user, by closing the window, and prevents any other features, scripts, and so on from engaging with the channel window.
The only other option would have been to keep the window open, send a PART to the server, and only close the window when the server replies with a PART event. However, this can take anything from a second to a minute depending on server lag, during which time a user would be unable to close the channel window.