If you do want the sequence, as you've indicated in the question, where it's all of the positive numbers in ascending order first, then the negative numbers in ascending order, it should be:
Select datediff(hh,getutcdate(),End_Date) as "Duration" from MasterTable
order by CASE WHEN Duration >= 0 THEN 0 ELSE 1 END,Duration