Guarda, ti aiuterei volentieri, ma stiamo sfiorando l'assurdo..
Cio' che ti ho detto prima sull'impossibilita di mandare al server mysql certi caratteri senza escape, e su come utf8 codifica gli apici - sono degli assiomi. Quindi deve esserci qualcosa di particolare nei dati che inserisci. Dovresti fare un po di debug, ad esempio fare un var_dump dei dati che inserisci, prima dell'encode e dopo.. e anche della query stessa come risultato finale, e provare ad eseguirla a mano.. etc.
Ad esempio fai una prova: imposta la $smex ad un valore predefinito con apici, es. $smex = "anch'io" . Cosi ti convinci che utf8_encode non cambia nulla sull'apice.
E per curiosita', fai un echo get_magic_quotes_gpc(); echo ini_get('magic_quotes_sybase'); , se ti restituiscono valori come 1, ON, TRUE si spiegano molte cose..