Have you tried with simple line below?
That is wrong, since it is not 05024, but 5024. (Yes that means a different thing!)
It is also wrong because with {$WARN number ON/OFF everything after ON/OFF up until the closing bracket is interpreted as a comment and perfectly legal.
In principle the original line is therefor correct and that unit should not return parameter not used warnings, unless there is an overriding command line option used.
We need to know the build settings if that unit still throws that warning, but note that the uses clause from that unit can also pull in other units that may reset the value ON/OFF...
I would rather see the whole unit if it is possible.
Another note is that you can use {$PUSH}/{$POP} around the offending declarations:
{$push}{$warn 5024 off}
procedure test(par:integer);
begin
//
end;
{$POP}
which can help to remove the warning only when it is really needed.