Alistair, the problem probably lies in the way your program communicates via POP3 protocol. The IgnoreProcess trick would probably work, but it should NOT be necessary.
Mail Scanner redirect your communication with server and scans the communication. If you just get the UIDList, you probably would not transmit any data that might be scanned. Anyway your program
spamdel speaks with Internet Mail scanner instead of the destination server.
How does the communication looks like? Do you login, getUIDList and logout? Or do you send the command and block until the result is returned? Enable logging in Mail Scanner and decipher from the log what does Mail Scanner receive and how does it understand the commands.
There are two possibilities:
1) your program is BAD - meaning it does not speak proper POP3
2) Mail Scanner does not understand the commands used by your program even though they are correct
If 2) is the case and your are speaking correct POP3 according to POP3 RFC we should probably modify Mail Scanner to understand your commands. If 1) is the case, well you know what to do...
Fix it. For example do you use \r\n to terminate the line (just like RFC requests) or just plain \n (WRONG) ?
Anyway, post here the transcript of the communication (e.g. when simulated in telnet), and send me or vojtech the logfile from Mail Scanner and we will find out where the problem is.