I think you've made a small mistake: for each sample the real part is in the lowest 16-bit and the imaginary part is in the highest 16-bit, so:
for (i=0; i < nfill; i++)
fY = sin(PI2 * i * (fFreq1/fFs)) + sin(PI2 * i * (fFreq2/fFs));
fZ = fAmpli * fY;
lBUFIN[i]= ((short)fZ) << 16 ; /* sine_cosine (cos=0x0) */
Retrieving data ...