Why do an if() statement at all? Just run the DELETE query with the date condition. If the rows are found, great - they get deleted. If not, no big deal.
I would say you can combine all three of those queries down into one:
DELETE r, s
FROM message_rec r, message_sent s
WHERE r.trash_expire < (NOW() - INTERVAL 2 WEEK) OR s.trash_expire < (NOW() - INTERVAL 2 WEEK)
though I don't have access to a MySQL server right now to test that query.
EDIT: Hrm... now that I think about it, I don't know if you can use a single query or not.
Even if you can't, you can still do a single DELETE FROM query for both tables and get rid of the SELECT statement.