Try changing your boolean constructs - your current method of using an "or" conjunction to test for "not equals" condition will not give you desired results.
Change:
Code:
{$userinfo.s_address} {if $po_address ne "" and ($cart.shippingid ne "122" or $cart.shippingid ne "51")}
to this:
Code:
{$userinfo.s_address} {if $po_address ne "" and ($cart.shippingid eq "122" or $cart.shippingid eq "51")}{else}DISPLAY WARNING{/if}