I'm also wondering about how the zero-divides are avoided. What kind
of artifacts might I expect.
I don't think they are avoided. Division by zero will almost certainly cause an error. Division by something very close to zero may produce a big spike. Since that's close to a delta function it will result in big sinusoidal oscillations in the deconvolved data.
I notice that "convolve" looks like it also uses the transform approach.
It will return complex numbers even given two purely real vectors. The
imaginary components are big enough to cause problems sending the result