K need some info on PushToConsole Methods, As Engine.exe didn't dump correctly for me

The old method I was using has outdated addresses and from what I seen now people are using direct addresses..
Credits Gordon for this Method(does not work anymore due to updated addresses)
[highlight=delphi]type
lpSetConsoleVariable = procedure (console: cardinal; szVal: PAnsiChar); cdecl;
RunConsoleCommand_t = function(cmd: PAnsiChar): integer; cdecl;
[/highlight]
...
...
...
Then in Hooked "PresentCallback"
[highlight=delphi]
SetConsoleVariable:= pointer($00484400);
case bChams of
False: SetConsoleVariable($008013F0,'SkelModelStencil 0');
True : SetConsoleVariable($008013F0,'SkelModelStencil -1');
end;[/highlight]
the above is what I use to use, But have seen and tried snippets of a newer method on the forum and this doesn't work either, See below
[highlight=delphi]
procedure Pushit (const PCharCommand: PChar);
asm
PUSH PCharCommand
MOV EAX, $00485DD0//Engine LTC $00484BC0//
CALL EAX
ADD ESP, $00000004
end;
[/highlight]
Then in Hooked "PresentCallback"
[highlight=delphi]
case bChams of
False: Pushit(PChar('SkelModelStencil 0'));
True : Pushit(PChar('SkelModelStencil -1'));
end;[/highlight]
I tried both addresses in "PushIt" but non seem to work, Is it the addresses that are wrong or am i missing something? Maybe something has changed since I last made a hack for Combat arms? Also remember I don't have a working dump of Engine so I can't Analyze the addresses
Any help or point in the right direction would be great...
P.s I do prefer the Gordon Method as it worked before
//Edit Changed to Delphi highlight,
I can see im not going to get much response to this question, Please don't even look at the code I only want to know the method nothing to do with what I language I am coding in.