Thanks for your bug report. This is by design. mIRC is waiting for the correct reply from the server to confirm that the /list request has ended, which in this case would be numeric 323.
mIRC intentionally prevents another /list request from being sent if a listing is currently in progress. This was implemented very early on in mIRC's development, when users were being regularly disconnected from servers due to sending too many /list requests. This was due to servers having difficulty coping with the bandwidth needed to repeatedly send lists to users. So mIRC tried to decrease the strain on servers by preventing users (especially new users) from queuing multiple /list requests (often by mistake, especially if there was lag and issuing a /list did not result in an immediate reply from the server). This means that when you issue a /list, mIRC will wait for numeric 323 to confirm that the listing has ended before allowing you to send another /list. There is no timeout because there is no way to know how long a listing will take. Sometimes it will take a few seconds, other times it can take several minutes. So mIRC depends on the server to send the expected numeric 323 when the listing ends or if there is no list at all.