Sorry if this is kinda off-topic, but you made me remember something really odd, that I used a lot before.. and it's still there.
If you use something like "
on me:*:part:#:{ part # blah }" and part clicking the X button, or shift+clicking the switchbar button, or using alt+z, it will actually part with "blah" as the message parameter, although it causes a 442 raw reply as well ("you're not on that channel").
The "custom part" is sent before the default one.. but if you use a command, it's not. So, this doesn't work using /part, /raw or anything else

.
[color:green]Code:[/color]
on me:*:part:#:{ part # [color:red]mIRC is weird[/color] }
[color:green]Line shown in my clone's session when I left the channel:[/color]
[01:09:20] * Parts: @parttest (*****@*******) ([color:red]mIRC is weird[/color])
[color:green]My debug info:[/color]
-> Zagreb.HR.Eu.UnderNet.org JOIN #part-test
<- :parttest!******@********** JOIN :#part-test
-> Zagreb.HR.Eu.UnderNet.org MODE #part-test
<- :Zagreb.HR.Eu.UnderNet.org 353 parttest = #part-test :parttest ptclone
<- :Zagreb.HR.Eu.UnderNet.org 366 parttest #part-test :End of /NAMES list.
<- :Zagreb.HR.Eu.UnderNet.org 324 parttest #part-test +
<- :Zagreb.HR.Eu.UnderNet.org 329 parttest #part-test 1064635749
[color:brown]<- :parttest!******@********** PART #part-test
[color:red]-> Zagreb.HR.Eu.UnderNet.org PART #part-test :mIRC is weird[/color]
-> Zagreb.HR.Eu.UnderNet.org PART #part-test
<- :parttest!******@********** PART #part-test :[color:red]mIRC is weird[/color]
<- :Zagreb.HR.Eu.UnderNet.org 442 parttest #part-test :You're not on that channel[/color]
Note that this was tested on UnderNet, but it must work on most networks, since it's the first time I tested there. I used to use it on BRASnet (the network I hang on) before, but now it doesn't accept part messages anymore.
Strange, I think.