Я собственно не одинок с этой проблемой - вот еще http://drupal.org/node/345080
По старой доброй традиции я сначала пишу вопрос на друпал.ру, а потом сам на него отвечаю:
Проблема возникает по следующей причине - в таблице "term_node" есть такие строчки где указан nid, несуществующий в таблице node. Поэтому при обновлении возникает ошибка
Column 'vid' cannot be null query: UPDATE term_node t SET vid = (SELECT vid FROM node n WHERE t.nid = n.nid) in C:\xampp\htdocs\modules\system\system.install on line 1154.
в следствии получаем таблицу term_node пустой.
Чтобы узнать какие nid в term_node лишние выполняем запрос
SELECT DISTINCT nid FROM `term_node` t WHERE (SELECT count( * ) FROM node n WHERE t.nid = n.nid) = 0
ну, и удаляем "лишние" строчки в term_node.