Unwanted conversion from timedelta to float (but not datetime)
In the code below, masked assignment of a timedelta series converts the series values to float64. The same code running against a datetime correctly keeps the series dtype.

    In [1]: import pandas as pd

    In [2]: dseries=pd.Series(pd.date_range('1/1/2011', periods=5, freq='H')); dseries=dseries-dseries[0]; dseries
    Out[2]: 
    0   00:00:00
    1   01:00:00
    2   02:00:00
    3   03:00:00
    4   04:00:00
    dtype: timedelta64[ns]

    In [3]: dseries[dseries==dseries[0]]=None; dseries
    Out[3]: 
    0   -9.223372e+18
    1    3.600000e+12
    2    7.200000e+12
    3    1.080000e+13
    4    1.440000e+13
    dtype: float64

    In [4]: dseries=pd.Series(pd.date_range('1/1/2011', periods=5, freq='H')); dseries=dseries; dseries
    Out[4]: 
    0   2011-01-01 00:00:00
    1   2011-01-01 01:00:00
    2   2011-01-01 02:00:00
    3   2011-01-01 03:00:00
    4   2011-01-01 04:00:00
    dtype: datetime64[ns]

    In [5]: dseries[dseries==dseries[0]]=None; dseries
    Out[5]: 
    0                   NaT
    1   2011-01-01 01:00:00
    2   2011-01-01 02:00:00
    3   2011-01-01 03:00:00
    4   2011-01-01 04:00:00
    dtype: datetime64[ns]
