Help debugging "cron run exceeded the time limit"
I suspect you could check that arg(0) == "node" and is_numeric(arg(1)), which would detect the internal path for a node display and not cron.  You would also need to check arg(2) for "edit" and a few others, that may (or may not) appear as local tasks for your nodes.