Cita: lo que no me explico es que si es asi y as variables estan mal escritam porque el Insert y el Select si me funcionan si use las misma variable escrita igual... pero bueno no importa.
Dependerá de cómo estén escritos esos SELECT e INSERT.
Si no invocas las columnas por su nombre, nunca lo verás. Y si luego en programación las lees por su valor de indice, tampoco lo sabrás...
En el UPDATE se ven porque no peudes hacer UPDATEs genéricos. Tienes que especificar en forma expresa a qué columna va qué dato.
REspecto a las variables... Las variables no llegan a MySQL jamás.
MySQL no recibe código programado, sino una sentencia de SQL con los valores como cadenas de texto o números. Por eso jamás se verá el defecto.