Solucionado, no sé cuantas veces he revisado el código y al final era una inmensa tontería.
Tengo otro ObjectDataSource el cual asigno al DropDownList en la página indicando DataSourceId, DataValueField y DataTextField. La incidencia era que no me cargaba la lista y algunas veces mostraba "Se produjo una excepción en el destino de la invocación.", la solución estaba en el SqlDataProvider, el nombre completo del procedimiento era incorrecto, al indicarse como cadena de texto el depurador no encontraba error alguno.
Por otro lado, ¿cómo obtener el valor del elemento seleccionado en la lista si no es posible utilizar Me.DropDownList, ya que no está disponible como objeto? ... Utilizando lo siguiente:
Dim ddl As DropDownList
ddl = Me.FormView1.FindControl("DropDownList1")
x = Convert.ToInt32(ddl.SelectedValue.ToString)
Mira que es sencillo y no había manera!!