I'm assuming the WeirdDuration data are duration values. This simple solution assumes that you want to eliminate all rows starting at the first row until the last rows that contains a duration of 0.
lastZeroIdx = find(T.WeirdDuration == duration(0,0,0), 1,'last');
T(1:lastZeroIdx-1,:) = 
if WeirdDuration are not duration values, you can easily modifty the line of code above to use datetime values instead. Example: datetime(0,0,0)