Another question regarding Polonius' body is: Why did Hamlet hide it in the first place? He dragged it out of his mother's bedroom out of consideration for her feelings. But he didn't have to hide it unless he had some motive for doing so. He has apparently decided to pretend to be insane. When Rosencrantz and Guildenstern ask him where he has hidden the body, he replies in such terms that they can't understand him. Then at the end of this short scene he "runs off" crying "Hide fox, and all after" (Act 4, Scene 2). No doubt he is improvising. He wants them to think that in his madness he believes they are all playing a game, including Polonius, who, he pretends to believe, is really alive but hiding. After all, Polonius really was hiding behind the arras, and this may have suggested to Hamlet the notion of pretending that they were all playing a game comparable to our contemporary game of Hide and Seek. In the game of Hide Fox, and All After, it appears that only one player hides and all the others look for him. The one who finds the fox becomes the fox himself, which is the role everybody wants. Hamlet suggests that he found Polonius hiding and has now become the fox himself.
There is nothing insane about Hamlet. If he had told Rosencrantz and Guildenstern where he had hidden the body, that would be the same as admitting that he had killed him. Obviously they would have found the body with a stab wound and bloody clothing. No one but Gertrude really knows that Hamlet killed Polonius. Claudius only knows what Gertrude told him, and she didn't tell him everything. And Rosencrantz and Guildenstern only know what Claudius told them.
I believe this to be a continuation of Hamlet's feigning madness, but I doubt that Hamlet is truly mad. Remember that he had decided to put on this act for everyone, to initially keep Claudius from suspecting that he knew of Claudius' guilt for the murder. In addition, Hamlet has no clue who he can trust other than Horatio, so this pretending to be mad helps keep everyone at a distance from him. Refusing to tell where Polonius' body is seems to be just a continuation of this act of madness, although I think it was also a way for Hamlet to toy with Claudius by giving his rather gruesome thoughts on death and how "a king may go a progress through the guts of a beggar."
Also keep in mind that Hamlet does eventually tell them that the body can be found under the stairs. Hamlet was keeping control over the situation for as long as he could, throwing Claudius more and more off balance, before allowing them to find Polonius for burial.
He will not tell Rosencrantz, Guildenstern, and the others who have come where the body is because he knows that they are not his friends. Hamlet knows that they are in the employ with the king and are trying to find some fault in Hamlet. If he tells them where the body is, the king might finally have the fuel he needs to get rid of Prince Hamlet for good, therefore enjoying the spoils of his first murder even more. Hamlet tries to tell them all that the king is just using them and that he's deceitful, but they are not wise and do not understand. In the end the King tells Hamlet that he must go to England for "his safety".
Hamlet is wise and approaches the situation with caution so this is not an act of madness on his part.