Try this:
DELETE from tracking_orders
WHERE DATEDIFF(dy,order_date, getdate()) = 1
OR DATEDIFF(yy,order_date, getdate()) > 1
The first condition in where checks for a difference of 1 day, and the second for a difference greater than 1 year. Note that this is going strictly by the calendar so the below will also return 1 even though time difference is less than 24 hours:
select datediff (dy, '2013-01-01 23:00:00.000', '2013-01-02 22:00:00.000')
To check for 24 hour difference only use DATEDIFF(hh,order_date, getdate()) = 1