How to get the FFT of a sine wave
It looks like you're getting your frequency in Hertz confused with in radians/sec since you have the factor of $2\pi$ in both your sampling period dt and your signal. I rewrote a bit of your code to clarify what I think you really want.

Amp = 1;
freqHz = 12000;
fsHz = 65536;
dt = 1/fsHz;
t = 0:dt:1-dt;
sine = Amp * sin(2*pi*freqHz*t);

N = 65536;
transform = fft(sine,N)/N;
magTransform = abs(transform);

faxis = linspace(-fsHz/2,fsHz/2,N);
plot(faxis/1000,fftshift(magTransform));
axis([-40 40 0 0.6])
xlabel('Frequency (KHz)')


If your sampling frequency is 65536 samples/second, and you want for example a tone at 12 KHz, you can create it as shown. So here your sample period is 1/65536 seconds.

Your expectation of getting two spikes with an amplitude of 0.5 each was correct -- just your generated tone was not.

As for scaling the x-axis to be in Hertz, just create a vector with the same number of points as your FFT result and with a linear increment from $-fs/2$ to $+fs/2$. Note also the fftshift I used in the plot. That's because the output of Matlab's FFT function goes linearly from 0 to fs. I find it easier to visualize having DC centered but either way is fine. Without the fftshift the faxis vector would go from 0 to fs.