Yes that is correct. The exponential distribution requires lam to be a positive quantity and your b parameter could be initialized at a negative value.
An alternative approach to modelling that comes to the top of my mind would be to log your data and fit it in a linear model. Perhaps something like:
a = pm.Gamma("a", mu=0.1, sigma=0.5) # maybe use a Normal prior here?
b = pm.Normal("b", mu=0, sd=1)
lam = pm.Deterministic("lam", a + b*time)
sec = pm.Normal("sec", lam, observed=np.log(d0.tdeltas))
trace0 = pm.sample(1000, tune=1000)