Hi kanno,
When there is a job in the print queue or port is being used, or print spooler is using the print queue, DeletePrinter may not delete the PQ immediately.
Sometimes, UI may not be updated immediately, if you stop and start the spooler service (net stop spooler, net start spooler in cmd line), you can see whether it is deleted or not.
Also you should check the return value of DeletePrinter API.
I hope this help.
Snekithan