Pero sin la funcion si que hace los cambios en la base de datos, ya que la selecciona por medio de basededatos.tabla dentro del propio mysql_query

así que la cosa cambia solo cuando el mysql_query está dentro de una función, así que no creo que sea eso... de todas formas voy a probarlo.
Gracias!