Du bør ikke bruge htmlentities når du gemmer den. Du skal bruge htmlentities når den vises. Tommelfingerreglen er ikke at indkode/sanere dataene, før du har brug for det. Hvis du gør htmlentities på det, når du gemmer, skal du gøre html_entity_decode på teksten, når brugeren ønsker at redigere inputtet. Så du desinficerer til det du har brug for og intet mere. Når du gemmer det, skal du rense til SQL-injektion, så du mysql_real_escape_string det. Når du viser, skal du rense for XSS, så du htmlentities det.
Desuden er jeg ikke sikker på, om du så Darryl Heins kommentar, men du vil virkelig ikke have, at magic_quotes er aktiveret. De er en dårlig, dårlig ting og er blevet forældet fra og med PHP 5.3 og vil være helt væk i PHP 6.