Hi,
You got a bug somewhere. One possible subtlety is this:
Is your sine input continuous in phase. If you are reading sine LUT make sure there is phase continuity at the end of the cycle. You need to carefully choose your data points and not repeat the first value at the end.
for a correct cycle I will do this:
sin_data = sin(2*pi*[0:1023]/1024);
plot(sin_data)
then scale it for hardware. choose other than [0:1023]/1024 for your frequency case.
You should see the first sample is 0 but the last sample is just under zero and shouldn't be zero.
Having said that it is unlikley that phase will cause major amp fluctuations unless it is grossly wrong. So look for timing issues, your sampling clk and the way your input actually enters the fft.