Vale, ya está solucionado. Explico. Estaba utilizando Microsoft.ApplicationBlocks.Data para hacer todas las llamadas a la base de datos. En un módulo había escrito varias funciones entre las que estaban varias sobrecargadas que llamaban a procedimientos almacenados. Éstas daban fallos si faltaban parámetros por definir. No obstante tengo otra más simple que devuelve una tabla al pasarle la consulta SQL. Utilizando esta última puedo poner:
Código:
Dim dt As DataTable = OrigenDatos.DevuelveDT("EXEC SP_PA " & ID)
sin que devuelva fallos. Igualmente, definiendo el parámetro opcional
Código:
Dim dt As DataTable = OrigenDatos.DevuelveDT("EXEC SP_PA " & ID & ",1")
Gracias y un saludo.