The more frequently I reverse fourier then fourier tranform, the more error accumulates. This makes imposing boundary conditions in real space difficult. It happens very fast though... perhaps it's not the fftw's fault. It very well could be that I need the real heat to be a double rather than a complex.
Finally found out what the problem was - the reverse fourier transform wasn't normalized. I also changed the nature of the fourier transforms - that is, they are no longer complex to complex but real to complex. This will make manipulating the rod data much, much easier.