Retrieve create node form. Why cant save send values?
I think you're confusing Drupal by having a form within a form so-to-speak. I think it would be a lot easier to define a proxy function for the node form so you don't need to worry about doing so:

function module_menu() {
  $items['user/%/edit/blog/add'] = array(
    'title' =&gt; 'Add blog post',
    'page callback' =&gt; 'module_blog_form_proxy',
    'page arguments' =&gt; array(1),
    'access arguments' =&gt; array('createBlog'),
    'type' =&gt; MENU_CALLBACK,
  );

  return $items;
}

function module_blog_form_proxy($uid) {
  // Validitiy checks etc...

  $user = user_load($uid);
  $node = array('uid' =&gt; $user-&gt;uid, 'name' =&gt; $user-&gt;name, 'type' =&gt; 'blog');

  module_load_include('inc', 'node', 'node.pages');
  return drupal_get_form('blog_node_form', $node);
}