Después de pasar el día en esto, la respuesta es la siguiente:
Wordpress se escapa en la declaración $_POST, no en la inserción real, lo cual es extraño.
$id = stripslashes_deep($_POST['id']); //added stripslashes_deep which removes WP escaping.
$title = stripslashes_deep($_POST['title']);
$message = stripslashes_deep($_POST['message']);
$wpdb->update('table_name', array('id'=>$id, 'title'=>$title, 'message'=>$message), array('id'=>$id));
Hacer esto significará que WP no agregará barras antes de las comillas.