More info on problem with NULL parameter values in ADO

I have a dbCommand Object which takes 5 input parameters and returns a

The stored procedure being called is a searching one and thus the input
 may be null if these fields are not to be searched on.
The input parameters to the stored procedure consist of 4 string values and
a date and any of these values may contain null.
The procedure i use to add the parameters to the ADOCommand object is as
procedure addParam
    const dbCommand : TADOCommand;
    const direction : TParameterDirection;
    const paramName : WideString;
    const paramValue  : Variant
         parameter : TParameter;

           parameter                     :=
           parameter.Direction   := direction;
          := paramName;
           parameter.Value         := paramValue;


Before this procedure is called the DbCommand has already been connected and
all other paramerters cleared from it.

When I try passing in unassigned value or null for the 'paramValue' Delphi
raises an exception
However if i ensure that all parameters have an initial value either a
single blank character or an arbitrary date then the
stored procedure executes and returns a recordset with no problems.