Changing IQ words after calibration

Hi guys,
I am using a custom board based on LMS7002M with SPI modified LimeSuite API . I am able to calibrate the device for the required range 2.2GHz to 2.9 GHz using LimeUtil but the problem is after calibration I am not able to set the I,Q words .
First issue,I need the I and Q words for alignment of data acquisition on FPGA . My problem is I am able to switch between Test signal generator mode(I,Q) and normal mode (signal fed from RX port) . However, my IQ words (eg ABCD) simply are received as ‘0000’ in test signal generator mode on the FPGA side. Following is the snippet of the code to enter TSG mode to set IQ values

     cout<<"TSG Mode\n";
//set tsg mode to dc source
     long dci = strtol(args[DCI],NULL,16);
     //set dcq value
 long dcq = strtol(args[DCQ],NULL,16);	

Second issue ,after the calibration routine(LimeUtil) runs the complex mixer is set . This changes the recieved signal on Channel B by 750 kHz . Why does calibration routine i.e. LimeUtil change the complex mixer frequency?
Third issue ,the results of LMS_ReadReg and LMS_SaveConfig are different when I read register (FOR eg , 0x040c) of channel A .
Any help on these issues is appreciated .