My problem is with
<?php drupal_set_message('Hello World'); ?>
in node.tpl.php
In node.tpl.php, I have also done
        <?php print_r(get_defined_vars()); ?>
to find out if the theme template is set correctly. The answer is yes.
I also have page_top and page_bottom set in my [theme].info file
        regions[content] = Content
        regions[help] = Help
        regions[page_top] = Page Top
        regions[page_bottom] = Page Bottom
$messages is outputted in page.tpl.php
        <div id="messages">
          <?php  print $messages; ?>
        </div>
After checking through all these, drupal_set_message() is still not working in node.tpl.php