Phase delay between two signal using FFT
Do an fftshift before the FFT (rotate your sample vector by N/2), this relocates the phase reference to the center of your sample window (instead of at a potential circular discontinuity around the ends).  This also often requires less unwrapping, as well as making phase interpolation (between FFT result bins) and phase differences more intuitive.