I still have the same problem with wicd. The underlying problem, is that when you start wicd, it launches separate processes to handle whatever it needs to handle that's not your input. These processes interact but are not one process, the GUI is one process, the monitor is one process, the daemon is also it's own process. You can see below that it is not one program being launched in the traditional sense, but three or four python scripts launched by separate python interpreters.
If you open a terminal examine it with top -c
(the show command option) you'll find the processes running are:
/usr/bin/python -O /usr/share/wicd/daemon/monitor.py /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py /usr/bin/python -O /usr/share/wicd/gtk/wicd-client.py
Now I'm running ubuntu, which is a debian variant, but the process that works for me should probably work for you with no or little adjustment.
1st, get the pids with ps aux | grep wicd
2nd, run kill
and the pids of the processes.
OR
if you have no other python interpreters open running processes you can get them all at once with
kill $(pidof python)