Det beror på att du definierar parametern i .NET som ett ReturnValue vilket faktiskt skulle motsvara scenariot där du använder RETURN inom den lagrade proceduren för att returnera ett heltal (vilket du inte gör).
Istället måste du definiera @strFailedEMPID-parametern som ParameterDirection.Output i din .NET-kod. Om du vill skicka ett värde in OCH ta emot ett genom parametern, använd ParameterDirection.InputOutput.
Efter att ha kört sproc, gör du sedan bara:
string value = lsqlCmd.Parameters["@strFailedEMPID"].value;
Så...
lsqlParam = new SqlParameter("@strFailedEMPID ", SqlDbType.VarChar);
lsqlParam.Value = "0";
lsqlParam.Direction = ParameterDirection.InputOutput;
lsqlCmd.Parameters.Add(lsqlParam);
lsqlCmd.ExecuteNonQuery();
string value = lsqlCmd.Parameters["@strFailedEMPID"].value;