Не зная больше, очень трудно сказать.Два объявления переменных НЕ эквивалентны: одно связывает переменную с фрагментом результирующего дерева (то есть с узлом документа), а другое связывает его с тем, что использует ваша функция: DecodeCDATA возвращает (возможно, строку)
Вы должны рассказать нам больше о том, что делает функция, больше о том, как вы используете переменную, и больше о том, что именно вы имеете в виду, когда говорите, что она не работает.