In pagelayout.tpl files and their overrides you should use $module_result.node_id instead of $node.node_id. The latter is only available the first time you call the page with this node id.
In view templates for classes and their objects it is entirely safe to use $node.whatever