It is possible to check if it works without switch. Try to connect a wire between pin 5 (Base of BC557B, PNP), and the RB7 (collector on BC557B). Then it should work, but not with switch.
The 100 Kohm resistor works as pull-down at SDA. The MCLR pin is low when programming EEPROM's. The Collector Base diode pull's up. There is no need for the emitter connection on BC557B. SDA is permanent high when MCLR is high, and programming EEPROM should be disabled by high MCLR.
The circuit should work with no connection to emitter on BC557B.
The connection to emitter improves the drive capacity of SDA because the BC557 works as an emitter folower, but turned around to be a collector folower. The Idea about turning it, is that the amplification is about 5, and not 200-500 as when in the right direction. Because of the low amplification is it possible to lead the output back to base trough the diode (base-collector). A normal emitter folower works forward.
I like the reversed BC557B because it was a bit funny, and it should work (and it worked on my computer with R1=47K, old pip and jdm84, and pix).
I like to know your comments about it. I think the amplification on a 'turned' BC557B is low enough in all cases. I messured amplification from 3 to 6, but it vary with the transistors and it should bee less than about 20.
Best regards, Jens Dyekjær Madsen