Actually this all depends on how you want to implement things. If you are making a 1:1 implementation of the C++ implementation, then no, you don't need __del__. But if you are wrapping every class separately, you do need it.
Keep in mind that Python 2.5 has problems with the garbage collector if you have a recursive object reference (IDK if 2.6 has it as well, I think it wasn't fixed until a much later version). That's why you should use "del sound" either way.