You must make the version of your package 2.4.something....
includes/packages.inc has at it's last function check_src_ext_version($ext_v) which has lines 725-741:
/*
Check basic extension source compatibility.
*/
function check_src_ext_version($ext_v)
{
global $src_version;
$compat_levels = 2; // current policy is keeping compatibility on major version level.
$app = explode('.', strspn($src_version, "0123456789."));
$pkg = explode('.', strspn($ext_v, "0123456789."));
for ($i=0; $i < min($compat_levels, count($app)); $i++)
if ($pkg[$i] < $app[$i])
return false;
return true;
}
This function returns true only if the package version (at major level 2) is greater than or equal to that of the FA version.
The $SysPrefs->version (or if absent, the $src_version) in version.php is used as the FA version.
The admin/inst_module.php at line 215 checks the above before the said warning / error arises:
if (check_value('Active'.$i) && !check_src_ext_version($ext['version']))
This must be borne in mind when developing / updating modules in FA v2.4.
In FA v2.3, only a check for previous version < current version of the module was done.