Эта проблема тянется еще с 2.3 и, похоже, уже никогда не будет решена. Причина в регулярном выражении, которое используется для распарсивания макроса. В случае, если два макроса находятся в одной строке, в регуляке что-то зашкаливает и она не видит макроса.
Лечится это только одним способом - не помещать макросы в одну строку.
В глобальных шаблонах нужно просто избегать однострочной записи. А вот в шаблонах модулей можно сделать финт ушами - поместить между макросами символ перевода строки "\n":
%data getProprety()% \n %data getProprety()%
Windows такой разрыв проигнорирует, а макрос отработает корректно. Вот только что увидят пользователи *nix... не знаю)