How are you looking at the datasets? The default application of 3dDFT is to produce complex-valued datasets. If you use AFNI to view the results, AFNI will show the magnitude of the complex dataset by default -- if you want to see the real part, you have to switch to that viewing mode. Given the .niml.dset suffix you are using, I suspect you are using SUMA to view the results. I'm not sure of how SUMA treats complex-valued data, or even if it CAN deal with such data properly.
For what it's worth, I just tried 3dDFT and then 3dDFT -inverse on a normal 3D+time dataset and the output real part is the same as the input to about 6 decimal places. The imaginary part of the output is in the 1e-7 range.