Had to do this in my secondary hook... yuck but at least it works.
Very hackish but it gets my code from point a to b and that's what matters atm.
Code:
global $smarty;
//isset blocks us from setting a session with a blank value.
if(isset($_POST['shipping'])){
//reopen session if closed/start a new one
session_start();
//store our last shipping post variable in session cause it goes blink less than a second after it posts.
$_SESSION['shipping'] = $_POST['shipping'];
}
//assign smarty variable shipping from the stored session whatever it last had.
$smarty->assign('shipping',$_SESSION['shipping']);