Why does the search module break cron
The Search module implements hook_cron(), and its implementation it invokes hook_update_index() to update the search index. One of that hook implementations is node_update_index(), which


Loads some nodes whose IDs are returned from a query
Renders those nodes, and passes their body content to search_index()


If the node body contains PHP code that redirects the users to a different page, or an implementation of hook_nodeapi() redirects the users when a node is viewed, that can cause problems to cron tasks.