I was thinking more of these trace lines and also guess the If was never true since you have the color as string! 
	Have a look at this version and see what it does for you.
 
WinActivate("TEST")
HotKeySet("{ESC}", "cancel")
Local $color
While 1
    $color = PixelGetColor (165, 550)
	ConsoleWrite('+ $color = ' & $color & " - " & Hex($color, 6) & @CRLF) ;### Debug Console
    If $color = 0x41C80F Then
        sleep(1000)
		ConsoleWrite('> Left click on (165,550)' & @CRLF) ;### Debug Console
        MouseClick("left", 165,550) ;CHECK JOB
    Else
        Sleep(1000)
		ConsoleWrite('! Left click on (550,630) ' & @CRLF) ;### Debug Console
        MouseClick("left", 550,630)
    EndIf
    Sleep(2000)
WEnd
Func cancel()
    Exit
EndFunc
	So you really need to try and understand what you are doing and how to properly go about testing!
 
	Jos