Just my guess: Interpolation and InterpolatingPolynomial are not (yet?) compatible with physical units. The documentation for QuantityVariable shows an example of DSolve with units:
DSolve[{Derivative[1][QuantityVariable[x, "Length"]][
    QuantityVariable[t, "Time"]] == 
      Quantity[5, "Meters"/"Seconds"]}, 
 QuantityVariable[x, "Length"][
    QuantityVariable[t, "Time"]], QuantityVariable[t, "Time"]]
but the equivalent for NDSolve does not work, at least with the following syntax:
NDSolve[{Derivative[1][QuantityVariable[x, "Length"]][
    QuantityVariable[t, "Time"]] == 
      Quantity[5, "Meters"/"Seconds"]}, 
 QuantityVariable[x, "Length"][
    QuantityVariable[t, "Time"]], {QuantityVariable[t, "Time"], 
  Quantity[0, "Seconds"], Quantity[10, "Seconds"]}]