<!--{if strpos($smarty.server.PHP_SELF,"contact/index.php") !== false}-->
<div id="main_image_haika">
<img src="<!--{$TPL_URLPATH}-->img/banner/main-visual_contact.jpg" alt="contact" />
</div>
<!--{elseif strpos($smarty.server.PHP_SELF,"/index.php") !== false}-->
<div id="main_image">
<a href="<!--{$smarty.const.P_DETAIL_URLPATH}-->1" onmouseover="chgImg('<!--{$TPL_URLPATH}-->img/banner/bnr_top_main_on.jpg','bnr_top_main');" onmouseout="chgImg('<!--{$TPL_URLPATH}-->img/banner/bnr_top_main.jpg','bnr_top_main');">
<img src="<!--{$TPL_URLPATH}-->img/banner/bnr_top_main.jpg" alt="詳細はこちら" id="bnr_top_main" name="bnr_top_main" />
</a>
</div>
<!--{ elseif strpos($smarty.server.PHP_SELF,"/user_data/concept.php") !== false}-->
<div id="main_image_haika">
<img src="<!--{$TPL_URLPATH}-->img/banner/main-visual_concept.jpg" alt="concept" />
</div>
<!--{ elseif strpos($smarty.server.PHP_SELF,"user_data/access.php") !== false}-->
<div id="main_image_haika">
<img src="<!--{$TPL_URLPATH}-->img/banner/main-visual_access.jpg" alt="access" />
</div>
<!--{ elseif strpos($smarty.server.PHP_SELF,"user_data/product.php") !== false}-->
<div id="main_image_haika">
<img src="<!--{$TPL_URLPATH}-->img/banner/main-visual_product.jpg" alt="product" />
</div>
<!--{ elseif strpos($smarty.server.PHP_SELF,"user_data/howto.php") !== false}-->
<div id="main_image_haika">
<img src="<!--{$TPL_URLPATH}-->img/banner/main-visual_howto.jpg" alt="howto" />
</div>
<!--{else}-->
<div id="main_image_haika">
<img src="<!--{$TPL_URLPATH}-->img/banner/main-visual.jpg" alt="howto" />
</div>
<!--{/if}-->
これでどうでしょう?
index.phpの判定をcontact/index.phpの判定よりも後に持ってきただけですが。