Circuit only works when o'scope probe is connected
You didn't say which PIC you are using, but there have been at least two confirmed bugs in the IIC mode of some of the MSSPs.  One of them had something to do with sampling the ACK bit on the wrong edge of the clock.  The bugs I know about were quite a while ago, so they have probably been fixed in newer PICs.  Still, I tend to use all firmware implementation of IIC in master mode.  You need the hardware to implement a slave, but in master mode you own the clock so it's easy.

The scope probe is adding a little capacitance to the SDA line, which slows down and delays the edges slightly.  Something is probably not right in that there is a race condition in there somewhere.  The slower or delayed edge of SDA is apparently making it work.  Try putting a 22-47pF cap on the line and see if that appears to make it always work.  I wouldn't want to ship it that way without knowning the cause and understanding that's a reliable fix though.

Another possibility is noise getting onto the line from other parts of the system.  In that case the cap to ground is making the line a little lower impedance, which attenuates the noise a bit.  If it's noise, then adding a cap to SCL will be fine.  If there is a race condition somewhere, adding a cap to SCL will probably make it worse.

I've seen too many flaky things with IIC over the years so that now I use a firmware-only implementation whenever possible.  In firmware I can guarantee that there are never two things happening on any one edge.