I am using POP3 client within Lua and delete function is working correctly.
The C interface to Lua is using the same function wip_deleteFile(). I wrote this interface long ago, but looking into the code following may be a hint. After reading email and closing the DATA channel, the program idles 1 second and only then issues the command to delete the email. This timeout may enable DATA channel to close properly. This was tested on Ethernet (GPRS may require more time) and on WipLib 5.30.
You may also enable WIP_NET_DEBUG_PORT_UARTx option to trace POP3 progress.