Lance Fortescue was the murderer. He had come back from Africa to kill off the family and get his hands of some of his fathers money. It was he who had befriended the hapless maid Gladys at the holiday camp and then persuaded her to put the poison in the honey or was it marmalade that poisoned Rex. He told her it was a truth drug which would then cause him to confess to the horrible things he had done.