How to programmatically find a sharp change in slope
This looks like an interesting problem.

First, if your timing is evenly spaced, your idea of having two "pin" (aka calibration) points should give you an adequate linear relation between your two time scales.  If you have more than two points then you can use linear regression to find a best fit.

Second, I think you will want to use the raw values and values of a calculated first derivative to classify parts of your graph.  The actual value of a second derivative doesn't seem to me to be particularly helpful.  Because of the noise you have, using immediate first difference calculations may lead to bad results.

I have a suggestion for a different approach which may work quite well.  Check out the difference technique in my blog article Exponential Smoothing with a Wrinkle.  You need not necessarily use exponential smoothing, boxcar smoothing or some other would also work.  The idea is to smooth in a forward direction and also smooth in a backward direction.  At every point, the forward smoothing gives you the "expected value" from the past and the backward smoothing gives you the "expected value" from the future.  Substracting the former from the latter gives you a first derivative like signal.  The coding is rather trivial so I will not provide it.  I suggest you give it a shot on your data and see what the graphs look like.  The smoothing will solve your noise issue.

I'm not sure the best way to calculate your probability values, but I think with a few graphs and calculations under your belt you will be able to provide an estimate that will be valid and fairly consistent across all your cases.