SAludos...
Bueno realmente no veo ningun problema en tu query, lo que podrias realizar como prueba es imprimir la variable $actualizacion en algun gestor de sentencias como el phpmyadmin, de no funcionarte puede colocar todas las variables dentro de comillas sencillas
Cita: $actualizacion="UPDATE clientes SET nombre='$nombre',
apellidos='$apellidos',
direccion='$direccion',
localidad='$localidad',
cp='$cp',
telefono='$telefono',
login='$login',
password='$password'
WHERE
login='$usuario'
AND password='$key'";
Bueno espero que te funcione... y frente a la que es el mysql_close basicamente lo que hace el es cerrrar la conexion de la base de datos, por lo tanto se ejecutan primero todos los querys.
Hasta Pronto!