sorry for double post, but i dont want to make a new thread for the same problem
i changed my method, and i am now looking for the ax when you are chopping, if it returns false then obviously you are not chopping 
SCAR Code:
function findax:boolean; //thanks to JAD for fixing up :D
var
i: integer;
tpa: TPointArray;
c: TIntegerArray;
begin
if not loggedin then exit;
colortolerancespeed(3);
c := [5064763, 593214, 5261885, 869985];
for i:= 0 to high(c) do
if findcolorstolerance(tpa, c[i], mscx - 35, mscy - 35, mscx + 35, mscy + 35, 5) then
result := true;
colortolerancespeed(1);
end;
//chops the tree, repeats untill inv is full or cant find a tree
Function ChopTree(uptext: string; color : integer) : boolean;
var time: integer;
begin
if not loggedin then exit;
A_Debug('started ChopTree proc');
repeat
A_Debug('starting to chop');
result:= A_FindObj(color, 7, uptext, true);
A_Debug('waiting');
antiban;
marktime(time);
while findax do
begin
antiban;
if (timefrommark(time) > max_cut_time + random(1000)) or
invfull or (not findax) then break;
end;
A_Debug('done chopping');
until invfull or not result;
A_Debug('ended ChopTree proc');
end;
BUT my problem is, the function always results true, even when i am not cutting, 
if there is no problem with the function(s) then i guess i'll just have to get better colors, since it might be finding my character and not my ax