We've encountered an interesting problem, outlined below:
f:= x->x; #anything, just so long as f is a function.
b:= leftsum( f, x=1..2, 6); # the range and number of rectangles aren't really important.
As you will see, b does not throw an error, and yet c does. The recursion error seems to be an untrappable error (i.e. it kicks you immediately out of all try-catch loops and back to the top level). It immediately breaks out of any function or procedure we throw at it. After analysis with printlevel := 100, it seems that the error arises in how evalf calculates the Sum in evalf/Sum1; evalf uses the variable r and adds each piece of the sum to r one by one.
Currently, we see no way around this bug in Maple.