Во-первых, вы не должны иметь: при использовании ?? оператор.
Во-вторых, чтобы сделать то, что вы пытаетесь сделать здесь без ошибки, вам нужно сделать это по-другому:
object objReason = cmd.ExecuteScalar();
string reason = objReason == null ? "" : objReason.ToString();
Это проверит, является ли ваше возвращаемое значение нулевым, и если это так, во второй строке будет указана причина для пустой строки, в противном случае будет использоваться ваше возвращенное значение.