Beginner questions: Using the MCP4261 library

Hi,
I have been using the MCP4261 library successfully to set the wiper0 and wiper1, so all is good in that area. In fact, I have the SPI running over RS485 Full-Duplex at 4Mbs over 3 meter RJ45 cabling.
My problem has to do with the READ function of the chip.
I send a 16bit word in two 8 bit sends, as in the "send16BitCmd(uint8_t addr, uint8_t cmd, int data)" function in the Library.
I had to add the below function to the library, to send the #define CMD_READ_DATA 0b11 value to tell the MCP4261 to READ.

void MCP4261::readWiper(int wiper, int value) {
  uint8_t wiperAddr;
  //int retData;
  if ((value >= 0) && (value <= 256)) {
    wiperAddr = getWiperAddr(wiper);
    send16BitCmd(wiperAddr, CMD_READ_DATA, value);
  }
  //return retData;
}

This all seems to send out the correct bits, as...
outByte0 = b0001 1100 (for Wiper address 1, and the 1100 sets the mode to READ.
outByte1 = b0000 0000 (really,, i think that you can send anything for the data Byte)
each Byte gets sent out by SPI.transfer(), again using the "send16BitCmd(uint8_t addr, uint8_t cmd, int data)" function.

Now the problem comes in as I expect that the Return values, inByte1 and inByte0, from "inByte1 = SPI.transfer(outByte1);" calls in the library will return the previously written Bytes.

It kind of does, but I ALWAYS get a return from inByte0 = 1111 1111
and inByte1 seems to be shifted by 1 bit lopping off the LSB.

Can anyone help me to understand where the LSB has gone in my READ?

I basically am doing this to check that the transmission was taken, as an error check.

Thank for any help.