Но не тут-то было. В первом случае мы получим FALSE, во втором TRUE. А всё потому, что первый Case возвращает строку '2' которая не равна 2.
Во втором случае возвращаемая строка неявно приводится к числу и получаем TRUE. Фича?
Интересное наблюдение! Только причина вряд ли в неправильных неявных приведениях типов, скорее, где-то глубже. Пробовал считать в вычислителе выражений (по Ctrl-F4):
'2'=2 дает TRUE, 2='2' тоже дает TRUE.
А вот еще несколько интересных результатов на ту же тему:
case(1;1:255;0) дает 255
case(1;1:256;0) дает 0
case(1;1:257;0) дает 1
Повезло, что до сих пор я эту функцию в своих поделках не использовал...