The solution (or one solution) is:
SELECT TimerName, TimerInterval, TimerPriority, IsHeartBeat =
CASE
WHEN PATINDEX('%heartbeat%', lower([TimerName])) > 0 THEN 1
ELSE 0
END
FROM [SEMCDatalogger].[dbo].[tblTimer] ORDER BY IsHeartBeat, TimerName, TimerInterval, TimerPriority
By using IsHeartBeat = CASE and then supplying the conditions ... the results are exactly the 0 or 1 that I need.