I've heard arguments both ways but have concluded that Mike Huckabee staying in the race is actually doing John McCain a favor. As long as Mike stays in, John has a reason to go around to the various primary and caucus states campaigning.
As soon as McCain is the sole candidate, he has to start running against the Democrats. Right now, McCain's real need is to talk to Republicans about supporting him. Running against Huckabee gives him the excuse he needs to make his case. Meanwhile, Huckabee is making no personal attacks on McCain while giving social conservatives a way to send McCain a message about his need to speak to their values.
Huckabee is a talented campaigner, he has a lot of natural charm. Foreign policy conservatives and social conservatives have no problems with him, but economic conservatives sure do. His economic proposals are relatively radical, too populist for most country club Republicans.