Я думаю, что строки вроде:
$nodeObj->field_userid_ref['und'][0]['value'] = '5';
неверны.У вас есть параметр «значение» только для типа поля, который действительно имеет значение, то есть текстовое поле.Если у вас есть ссылка на узел или поле тега, должно быть что-то еще.Возможно:
$nodeObj->field_userid_ref['und'][0]['nid'] = '5';
для узлов, или
$nodeObj->field_userid_ref['und'][0]['tid'] = '5';
для тегов, или
$nodeObj->field_userid_ref['und'][0]['uid'] = '5';
... для пользователей, в зависимости от того, на что ссылаются эти поля...
Создайте некоторый узел "общим" способом из серверной части, затем распечатайте его и посмотрите, какие поля существуют.