Ethernet vs LS7633R

SPI Comm issue
I have an issue between an ethernet device and three LS7633R Quadrater encoder counter chips. If I use both of the devices on the SPI network together only the ethernet device works. The LS7633R chips do not communicate the encoder pulses. Disconnecting the ethernet device then the counter chips communication works. So my question is does the SPI mode of the ethernet device is different than the LS7633R chip? if so can the SPI modes be changed on the fly?
The libraries used are:SPI.h, Ethernet.h. For the LS7633R chips I used code, aa sample of the intalization code is supplied.

digitalWrite(selEncodery, HIGH);
  digitalWrite(selEncoderz, HIGH);
  digitalWrite(selEncoderx, LOW);       // Begin SPI conversation
  SPI.transfer(0x90); //was 88                      // Write to MDR1
  SPI.transfer(0x00); //was 03                      // Configure to 4 byte mode
  digitalWrite(selEncoderx, HIGH);      // Terminate SPI conversation
  delayMicroseconds(100); //
  digitalWrite(selEncoderx, LOW);       // Begin SPI conversation
  SPI.transfer(0x88); //was 88                      // Write to MDR0
  SPI.transfer(0x83); //was 03     4 pulses                 // Configure
  digitalWrite(selEncoderx, HIGH);
  digitalWrite(enablePoscountx, HIGH);

}

void initEncoderY() {

  digitalWrite(selEncoderx, HIGH);
  digitalWrite(selEncoderz, HIGH);
  digitalWrite(selEncodery, LOW);       // Begin SPI conversation
  SPI.transfer(0x90); //was 88                      // Write to MDR1
  SPI.transfer(0x00); //was 03                      // Configure to 4 byte mode
  digitalWrite(selEncodery, HIGH);      // Terminate SPI conversation
  delayMicroseconds(100);
  digitalWrite(selEncodery, LOW);       // Begin SPI conversation
  SPI.transfer(0x88); //was 88                      // Write to MDR0
  SPI.transfer(0x83); //was 03     4 pulses                 // Configure
  digitalWrite(selEncodery, HIGH);
  digitalWrite(enablePoscounty, HIGH);

}

void initEncoderZ() {

  digitalWrite(selEncodery, HIGH);
  digitalWrite(selEncoderx, HIGH);
  digitalWrite(selEncoderz, LOW);       // Begin SPI conversation
  SPI.transfer(0x90); //was 88                      // Write to MDR1
  SPI.transfer(0x00); //was 03                      // Configure to 4 byte mode
  digitalWrite(selEncoderz, HIGH);      // Terminate SPI conversation
  delayMicroseconds(100);
  digitalWrite(selEncoderz, LOW);       // Begin SPI conversation
  SPI.transfer(0x88); //was 88                      // Write to MDR0
  SPI.transfer(0x83); //was 03     4 pulses                 // Configure
  digitalWrite(selEncoderz, HIGH);
  digitalWrite(enablePoscountz, HIGH);

}

If you encapsulated your encoder interactions in SPI.beginTransaction/SPI.endTransaction you likely wouldn't have to worry about it. That's all I can say based on a code snippet.

I will try your suggestion, it may take a couple of days for me to reply as to what happens.
Unlike

I tried to use the SPI.beginTransaction /SPI.endTransaction SPI on communications, encoders worked ok, but when the Enternet shield was connected nothing worked, I was using a 3v ethernet shield with a level shifter for interface.
I noticed that on the Mega 2560 there are 2 SPI ISP headers, One is connected to the main processor and the other #2 SPI is connected to the 16AU2 interface, is the 2nd One useable?