As long as your server is behaving in the same way as a standard IRC server, eg. sending the expected numerics, 001, etc. on connecting, sending End of MOTD, so mIRC can trigger post-connection features, and so on, I can't a reason why this would be happening. A thousand users on a channel is not that large, so mIRC should not have a problem with that.
One way to see what is happening is to use the "/debug on" command to output raw server communication to a debug.log. Or "/debug @test" to output to a @test window. You can then see what mIRC is sending/receiving to/from the server. You can then do the same thing on a standard IRC server and compare the results. Is your server sending the same sequence/format of events as a standard IRC server?
You could also try to narrow the cause down, eg. is mIRC connecting with SSL? If it connects without SSL, does that make a difference?
That said, this will also depend on what your script in mIRC is doing. If your script performs long operations, this will block mIRC in the interim. If you add debugging /echo comands to your script, can you see where the slowdown is taking place?