Hola
intenta con esto
Código PHP:
Ver originalif($elemento['id_preferencia'] == $modpre[0]) //suponiendo que $modpre es el result
ahora bien, viendo tu consulta haces join entre usuarios y preferencias, y la tabla donde están las preferencias en general también es preferencias
no sería mejor (y normalizado de paso) tener una tabla intermedia entre usuarios y preferencias llamada usuarios_preferencias por ej?
y así el asunto, podrías incluso dentro del while donde dibujas todas las preferencias (o for each en tu caso) hacer consulta a esta tabla intermedia con cada id de preferencia (y filtrando por usuario claro) y si el num_rows es mayor a 0 entonces esa es de las que ya han sido elegidas y por ende deben ir con checked, y si no, pues que la dibuje normal
bueno, espero te sirvan las ideas
saludos