The Stack Overflow podcast is back! Listen to an interview with our new CEO.
1 of 4

Albert Retey has demonstrated in a similar situation that you can use "EventLocator" to detect an event in NDSolve. For example:

NDSolve[{\!\(
\*SubscriptBox[\(∂\), \(t\)]\(u[t, x]\)\) == 1/100 \!\(
\*SubscriptBox[\(∂\), \(x, x\)]\(u[t, x]\)\) - u[t, x] \!\(
\*SubscriptBox[\(∂\), \(x\)]\(u[t, x]\)\), 
    u[0, x] == Sin[2 π x], u[t, 0] == u[t, 1]}, u, {t, 0, 2}, {x, 
  0,
     1}, StepMonitor :> (laststep = thisstep; thisstep = t;
      stepsize = thisstep - laststep;), 
  Method -> {"EventLocator", "Event" :> (If[stepsize < 10^-4, 0, 1])}]

Then the integration will stop when the step size is less than 10^-4, and the variable thisstep will be the point you are looking for.