"ip route find where' strange behavior

Maybe “routes” is a reserved variable name, try using “myroute” instead of “routes”.

And/or try with put instead of assigning the result to a variable.

Also, you can probably remove the “where” (but that shouldn’t change anything):
http://forum.mikrotik.com/t/find-command/178021/1