Os cuento con lo que llevo toda la tarde liado por si alguien se le ocurre algo.
Tengo un procedimiento almacenado con nombre ModificarUsuarioporCodigo que recibe dos parámetros y realiza una modificación de uno de ellos en función del otro. Uno de los parámetros es el código de usuario y el otro el nombre. Lo único que hago es set del nombre where codigo de usuario. Esto funciona ya que con una sentencia lo pruebo y se modifica.
El problema es cuando lo intento ejecutar el procedimiento almacenado. Lo que estoy haciendo es lo siguiente:
//Creo un array de objetos que son los parámetros
object [] ParametrosUsuarioCreado = new object [2];
ParametrosUsuarioCreado[0] = UsuarioCreado.Codigo;
ParametrosUsuarioCreado[1] = UsuarioCreado.Nombre;
//Abro la cnx y le enchufo el nombre del procedimiento almacenado y los parámetros.
Database dbFac = DatabaseFactory.CreateDatabase();
DbCommand dbCmd = dbFac.GetStoredProcCommand("ModificarUsuarioPorCod igo", ParametrosUsuarioCreado);
La parte anterior está entre try de modo que no creo que sea error de cnx. Me da que será por el tema de los parámetros pero no controlo....
Un saludo a todos.

PD: Uso el Edit Enterprise Library Configuration por lo que creo que no me tengo que preocupar de open, connect, close, etc, sino que este se encarga una capa por debajo ¿no?
PD2: Tengo otro procedimiento remoto que hace un select de la tabla de usuarios y este no da problemas. He empleado el mismo código para las dos conexiones.