Unable to get through to the custom form using hook_menu page callback?
Sanity checks first:


Make sure you're returning $items from hook_menu()
Make sure you've cleared the caches since making changes to code in hook_menu()
You probably don't mean to have two spaces between the first two words in your permission string.
Make sure there's a node with an ID of 18 in the system; if not the %node load argument will fail and you'll get a 404.


The only other problem (but not one that would causes a 404) is the signature for your form function; it should be

function heart_form($form, &amp;$form_state, $node) {