Is it possible to make hook_view() the same as hook_edit()? My current client does not like the separation between viewing their custom content types and having to travel to a different page to edit. They are pushing for the View page and the Edit page to be the same. Are there any negative ramifications of simply redirecting from hook_view() over to hook_edit()? 

The client is a desktop application developer, with a large installed base of clients, and I'm making the first "web version" of their desktop software. They want their webapp to behave as close as possible to their last desktop version. Their application is sorta like a CAD/3D-Modeler, and "viewing a model" without the ability to make any edits makes no sense for their users. Hence the request to get rid of hook_view() and make hook_edit() triple functional (create,edit &amp; view).
Supposing that "model" is the content type you are referring, then I would use code similar to the following one.

function mymodule_menu_alter(&amp;$items) {
  $items['node/%node']['title callback'] = 'mymodule_node_title'; 
  $items['node/%node']['title arguments'] = array('view', 1);
  $items['node/%node']['page callback'] = 'mymodule_node_page';
  $items['node/%node']['page arguments'] = array('view', 1);
  $items['node/%node']['access callback'] = 'mymodule_node_access';
  $items['node/%node']['access arguments'] = array('view', 1);
  $items['node/%node/edit']['title callback'] = 'node_node_title'; 
  $items['node/%node/edit']['title arguments'] = array('edit', 1); 
  $items['node/%node/edit']['page callback'] = 'mymodule_node_page';
  $items['node/%node/edit']['page arguments'] = array('edit', 1);
  $items['node/%node/edit']['access callback'] = 'mymodule_node_access'; 
  $items['node/%node/edit']['access arguments'] = array('edit', 1);
}

function mymodule_node_access($op, $node) {
  if ($node-&gt;type == 'model') {
    return ($op == 'view') ? node_access('edit', $node) : FALSE;
  }

  return node_access($op, $node);
}

function mymodule_node_page($op, $node) {
  if ($node-&gt;type == 'model') {
    return node_page_edit($node);
  }

  if ($op == 'edit') {
    return node_page_edit($node);
  }
  if ($op == 'view') {
    return node_page_view($node);
  }
}

function mymodule_node_title($node) {
  if ($node-&gt;type == 'model' || $op == 'view') {
    return node_page_title($node);
  }

  if ($op == 'edit') {
   return t('Edit');
  }
}


Using this code, the node edit form is always show accessing /node/%node, or /node%node/view for the "model" content type.