To extend you're actual question, yes you do.
The problem is that mysql_real_escape_string (or the other DB sanitizing methods) are not sensitive to magic_quotes_gpc. For this reason, if you don't perform a stripslashes on it before sanitizing it, it will result in unwanted slashes.
// user submitted name: O'Neil
// With magic_quotes_gpc enabled:
print $_POST['name']; // O\'Neil
print mysql_real_escape_string($_POST['name']); // O\\\'Neil <-- Bad to have.
So, you need to strip the slashes added by magic_quotes_gpc which removes the escape sequence changing
. MySQL_real_escape_string from this point takes care of escaping the slashes (and other characters) to result in
which is what you want.
I have a tutorial in the snippets as well for GPC stripping at a global level. And as I mention in it (its a long block of code), you can do it in as few as... 5 lines of code I think it was, or 8, one of the two.