What you probably want to do is deconvolution. For that you need the impulse response function. What you have is the response to a step function. You need to deconvolve the respnse function you have with a step function to get the impulse response function of your instrument and then deconvolve your data with that.
One problem with deconvolution is that it can amplify noise, but I don't know if that will be a problem in your case.
Edit: Details on request.
Let $T(t)$ be the true temperature and $M(t)$ your measured temperature. They are related like this:
$$
M(t)=\int T(\tau)f(t-\tau)d\tau
$$
where $f(t)$ is the impulse response function. What you have is $F(t)$ given by:
$$
F(t)=\int H(\tau)f(t-\tau)d\tau
$$
where $H(t)$ is a Heaviside step function. Fortunately you don't need to deconvolute $F(t)$ as I said above. Simply differentiating $F(t)$ should do:
$$
f(t)=F'(t)
$$
Now, you have $M(t)$ sampled in a number of points $t_i$, let's call the the samples $M_i=M(t_i)$. Similarly, the true values at another set of time points $\tau_j$ can be called $T_j=T(\tau_j)$. The integral can now be approximated with a sum:
$$
M_i=\sum_j T_jf(t_i-\tau_j)\Delta\tau_j
$$
where $\Delta\tau_j$ is the distances between the $\tau_j$:s. This is now a linear equation system:
$$
M_i=\sum_j T_jA_{ij}
$$
with the coefficients given by:
$$
A_{ij}=f(t_i-\tau_j)\Delta\tau_j
$$
Solve it to for $T_j$ to get the true temperatures. The trickier parts might be to make sure $f(t)$ is correctly normalized and choosing your set of $\tau_j$. It should probably be similar to the set of $t_i$, but maybe they should be a bit sparser to make it more robust.
This is the basics. You might have do some tinkering. Also, there are probably more advanced algorithms for deconvolution that are less noise sensitive.