Using empty instead of 0 is the simplest.
Or use SQL
ExecuteSQL ( "
SELECT AVG(CASE WHEN diff>0 THEN diff END)
P.S. I noticed that FM correctly updated the average correctly when I used various Find commands, which was also nice.