FFT results for short burst of signal
Eventhough you are asking for an answer about your problem with FFT usage, It seems to me, based on your definition of what you are looking for (detecting the presence of a carrier -a known signal?- inside a buffer of 4096 samples) that you would better use a "matched-filter" to detect the presence of that carrier, a known signal, inside the noisy 30ms measurement buffer. 

Of course FFT would still help especially for high SNR cases, but for noisy data, matched filter is the optimal choice (under suitable conditions). And I have never heard of FFT by itself reducing noise. May be I am wrong. 

To implement a matched-filter, you would simply convolve the time reversed carrier signal with the noisy observation and look for a thresholded peak.