how to setup blocks that differentiate 'node edit' case from 'node add' case in MULTISTEP forms
I dont know how to retrieve the multistep completion state from a block but there's a simple way, by testing the published status (not published ? not complete ADD/PENDING - published ? complete EDIT)

in admin/settings/multistep :
select Publishing > at node completion

in the ADD block that must be displayed when adding a multistep node :
only display block on the pages below :

node/add/multistep-content-A*
node/add/multistep-content-B*
node/*/edit*


in the ADD block body :

Title : add

&lt;?php
$show = FALSE ;
if ( arg(0) == 'node' &amp;&amp; arg(1) == 'add' ) {
  if (in_array(arg(2), array( "multistep-content-A", "multistep-content-B" ))) {
    $show = TRUE ;
    $node = False ;
  }
}
elseif ( arg(0) == 'node' &amp;&amp; is_numeric(arg(1)) ) {
  $node = node_load(arg(1));
  if (in_array($node-&gt;type, array( "multistep-content-A", "multistep-content-B" )) &amp;&amp; $node-&gt;status == 0) {
    $show = TRUE ;
  }
}
if ($show) {
  if ($node) print '&lt;center&gt;id : &lt;b&gt;'.$node-&gt;nid . '&lt;/b&gt;&lt;/center&gt;' ;
  print "&lt;ul&gt;&lt;li&gt;some info about creating this node.&lt;/li&gt;&lt;li&gt;be sure to complete every step blah blah &lt;i&gt;the italic ones&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;" ;
}
?&gt;


in the EDIT block :

Title : modify

node/*/edit*


body :

&lt;?php
if ( arg(0) == 'node' &amp;&amp; is_numeric(arg(1)) ) {
  $node = node_load(arg(1));
  if (in_array($node-&gt;type, array( "multistep-content-A", "multistep-content-B" )) &amp;&amp; $node-&gt;status == 1) {
    print '&lt;center&gt;id fiche : &lt;b&gt;'.$node-&gt;nid . '&lt;/b&gt;&lt;/center&gt;' ;
    print "&lt;ul&gt;&lt;li&gt;some info about editing an existing node.&lt;/li&gt;&lt;li&gt;browse directly to the steps you need to modify by using the link below.&lt;/li&gt;&lt;/ul&gt;" ;
  }
}
?&gt;


there might be a way to only have one block, that could change its title itself, I didn't investigate.