You have the right idea, but when $\displaystyle t=0$ you train is negative 15 units from the crossing still. The way you set up the equations, the trains crosses when $\displaystyle t=10$.
So ten minutes later from then is when $\displaystyle t=20$ in your model
P.S. I didn't check your algebra or calculus.
What you have is a right triangle
$\displaystyle c^2=a^2+b^2$
What you want to find is the rate of change of the hypotenuse.
Then taking the derivative with respect to time gives
$\displaystyle 2c\frac{dc}{dt}=2a\frac{da}{dt}+2b\frac{db}{dt}$
So we need to know a,b and c.
The car has traveled 12 miles (a=12) and the train has traveled 9 miles (b=9) and by the Pythagorean theorem c=15.
Plugging all this in gives
$\displaystyle 2(15)\frac{dc}{dt}=2(12)(60)+2(9)(90) \iff 30\frac{dc}{dt}=3060 \iff \frac{dc}{dt}=102 $