"FullName LIKE '%{0}%' AND DateSubmitted >= '{1}' AND DateSubmitted <= '{2}' AND (('{3}' = '*' OR Approved = '{3}') OR (Approved IS NULL AND
'{3}' IS NULL))"
The part '{3}' IS NULL is always false.
Also you should be using parameterised querys:
"FullName LIKE @Param1 AND DateSubmitted >= @DateTimeParam1 AND DateSubmitted <= @DateTimeParam2 AND ((@Param2 = '*' OR Approved = @Param2) OR (Approved IS NULL AND @Param2 IS NULL))"
If Approved is null and @Param2 is null the right hand side of the OR would evalute properly.