В connect.microsoft.com заведена бага, описывающая подобное поведение, ответ — да, мы знаем о подобном поведении, но не собираемся его менять, поскольку оптимизатор не гарантирует время и количество выполнений скалярных функций, и такое поведение ему необходимо, чтобы иметь достаточную свободу для оптимизации.
Это стандартный план выполнения, строящийся в MS SQL Server Management Studio.
Включите при выполнении запроса действительный план выполнения — увидите такую визуализацию.
MS SQL: генерация псевдослучайных данных с использованием newID(). Возможности и подводные камни