After a bit of research and testing it turns out that Strider provided the best answer for checking for a numeral only using FILTER_VALIDATE_INT that satisfies all the points I made about is_numeric, is_integer, preg_match, and (int) as well as the points M@tt made. See the code test below.
Cheers Strider 
[php]<?php
$options = array(
‘options’ => array(
‘min_range’ => 1,
‘max_range’ => 5000000000
)
);
$var = filter_var(‘25’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //Valid AND is integer
echo “
”;
$var = filter_var(‘0’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘clearlyAstring’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(’-8’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘0x539’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘02471’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘0b10100111001’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘1337e0’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘9.1’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(’+0123.45e6’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘0xf4c3b00c’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘0b10100111001’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL
echo “
”;
$var = filter_var(‘929392923293293239’, FILTER_VALIDATE_INT, $options);
echo “
”;
var_dump($var); //FAIL - M@tt example - All numerals but exceeds max_range
echo “
”;
?>[/php]