Wie Sie bereits sagten, liegt dies daran, dass C#2.0 keine optionalen Parameter unterstützt.
Eine Problemumgehung besteht möglicherweise darin, die gespeicherten .NET-Prozeduren in reguläre gespeicherte T-SQL-Prozeduren einzuschließen, die Standardparameter akzeptieren.
Zum Beispiel:
CREATE PROCEDURE TestProcWrapper
(
@TestIntWrapperParam int = null
)
AS
EXEC TestProc @TestInt = @TestIntWrapperParam
Es ist ein bisschen hässlich, aber vielleicht bringt es dich erst einmal weiter.