I2C comms works with Uno but not LilyPad- hangs on wire.endTransmission()

Board: LilyPad Arduino with ATMega328
IDE: 1.0.5
I2C hardware: TI LMP91000 EVM

I have external surface mount 10k pull ups soldered to the LMP91000 board. I can write to the registers using an Arduino Uno telling me I have set up my lines correctly, but when I run the same script on the LilyPad Wire.endTransmission() hangs and never times out. Here is my code:

#include<Wire.h> 
#include<SoftwareSerial.h>
#define rxPin 11
#define txPin 12

SoftwareSerial myPort(rxPin, txPin);   //rx = 11, tx = 12

const byte address = 0x48;   //Fixed I2C address of LMP91000
                                 
void setup() {

   Serial.begin(9600);
   myPort.begin(9600);
   pinMode (A2, INPUT);     //output of LMP91000 at pin A2
   Wire.begin();
   
   const byte num_reads = 1;      //to read back ACK of LMP91000
  
    //make sure board is ready for Wire communication:
    
    Wire.beginTransmission(address);
    Wire.write(0x00);                 //address of status register
    Wire.endTransmission();    //will respond with ACK or NACK
    
    Serial.println("First transmission complete");  //NEVER PRINTS THIS ON LILYPAD
    
    //now request the contents of the status register
    Wire.requestFrom(address, num_reads);     
    if (Wire.available()){        
      byte Status = Wire.read();   //1 means ready for comms!
      Serial.println(Status);      //confirm Wire handshake
    }
    
    else {Serial.println("Wire not available; check address");} 
    
    Wire.beginTransmission(address);
    Wire.write((byte)0x01);    //address of LOCK register
    Wire.write((byte)0x00);    //LSB of 0 unlocks TIA
    Wire.endTransmission();
     
    Wire.beginTransmission(address);
    Wire.write((byte)0x10);    //address of Gain register
    
    /******** TIA GAIN **********************************/
    Wire.write((byte)0x0B);    //7k feecback, 100ohm load
    /****************************************************/  
    
    Wire.endTransmission();
   
    
    Wire.beginTransmission(address);
    Wire.write((byte)0x11);       //address of reference control
    Wire.write((byte)0x00);    //20% Vss = 1V TIA zero voltage
                                                       //0% sensor bias                        
    Wire.endTransmission();
    
    
    Wire.beginTransmission(address);
    Wire.write((byte)0x12);    //mode control register
    Wire.write((byte)0x07);    //Disable FET short; TIA ON
    Wire.endTransmission();    
}

void loop() { 
   ReadVoltage();
}

void ReadVoltage(){
  
  float voltage = 0;
  voltage = analogRead(A2);
  voltage = voltage * (5.00 / 1023.00);
  
  myPort.print(voltage);
  Serial.println(voltage);

  delay(1000);
      
}

Again, this exact script works when my Arduino Uno is the master device, but Wire.endTransmission() infinitely loops when I run it on the LilyPad. I have SDA connected to A4 and SCL connected to A5 on both the Uno and the LilyPad. Ground is tied between the LilyPad and the I2C slave. Any ideas?

Solved my own problem--

I had a LilyPad Xbee shield mounted back to back with the LilyPad board so the A4 (SDA) pin was shorted to d3 on the lilypad shield, and A5 (SCL) was shorted to d6 on the shield. I thought d3 and d6 would not affect the comms but apparently that is the case... Should have been more thorough with my hardware explanation! Could have saved a lot of time debugging..