Instead of using an out parameter, you have to use ExecuteReader with npgsql:
NpgsqlCommand cmd = new NpgsqlCommand(@"Insert into ERRORS(Date, ErrorInfo) values(:ItemDate, :Text) returning ErrorId", conn);
...Add your inpout parameters...
NpgsqlDataReader reader = cmd.ExecuteReader();
int errorId;
while (reader.Read())
{
errorId = reader.GetInt32(0));
}