Уже все таки POST? Интересно кто вас на такое натолкнул?
Isset, конечно, он и в Африке isset, но если понимать, что делаем и при выключенном выводе предупреждений, можно и проще:
$_SESSION['region'] = ($n = (int)$_POST['region_select']) ? $n : 0; //именно приведенное к integer, а не просто $_POST['region_select']
А вот на это:
<script>$("#element option[value='<?=$region_sel_option?>']").attr("selected", true);</script> <!-- JQ скрипт фиксирует выбранный элемент в списке регионов -->
вряд ли бы кто-то вас здесь сподвиг, ибо это пустое занятие. Зачем же вы тогда запоминали выбор, если формируя на сервере список не определяете сразу в нем выбранную опцию?
<option name="nregion" value="<?=$item['id']?>" <?=$_SESSION['region']==$item['id'] ? 'selected' : null?>><?=$item['region']?></option>
а id="region" опциям совсем не нужен, тем более, что id должно быть уникальным. Закрывать одну строку кода точкой с запятой не обязательно.