PIC12LF1552 I2C; uC won't exit Start Condition
You should not assume that the simulator mimics real hardware exactly, however in this case it may be failing for a similar reason. If SCL or SDA are low during start then a bus collision is assumed, the start is aborted, BCLIF flag is set (which generates an interrupt if enabled) and the MSSP module is reset. If the I2C bus is in a permanent collision state and your program continuously retries then it may appear to be  'stuck' at that point. 

SCL and SDA are normally held high with pullup resistors. In the simulator, what is the normal state of the SCL and SDA pins? On your actual hardware, have you checked that your pullups are on the correct pins? What voltages are present? Have you monitored the pins with an oscilloscope or logic analyzer?  

Another possibility is that your modified header files are still not compatible, and the MSSP is not being correctly initialized. You could examine all the relevant hardware registers in the simulator to verify that they have the correct values, or post your code here for others to try out.