I believe you are trying to get the difference in total time from one field to another and display it as "xxh xxm".
This formula will not do that regardless of the error you are getting. That being said the reason you are getting the 00 is the leading "right" statement which is grabbing the 2 right characters which are the ending "00" from the difference in time. 7:00 am -7:20 am would be "20.00" minutes. The 2 right characters are always "00".
Even with that being corrected I don't think your statment is going to give you what you want.
Example: "8:50 am to 9:00 am" would return "01h 10m" when I think you want it to be "00h 10m"
The following will get you closer but it does not handle all of the instances of lead zeros you might need:
if datediff('n',{INCIDENTSM1.OPEN_TIME},{INCIDENTSM1.CLOSE_TIME}})>60 then "0" +
totext((datediff('n',{INCIDENTSM1.OPEN_TIME},{INCIDENTSM1.CLOSE_TIME})/60),0) + "h " +
totext((remainder((datediff('n',{INCIDENTSM1.OPEN_TIME},{INCIDENTSM1.CLOSE_TIME})),60)),0) + "m" else
"00h " + totext((remainder((datediff('n',{INCIDENTSM1.OPEN_TIME},{INCIDENTSM1.CLOSE_TIME})),60)),0) + "m"