Вы не можете отключить отдельный ряд. Однако вы можете сделать это только для чтения:
DataGridView1.Rows[rowIndex].ReadOnly = true;
(Это делает строку с индексом rowIndex установленным только для чтения).
В вашем конкретном примере вы захотите обработать событие CellValueChanged представления данных и иметь код в виде:
void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 4 && DataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "Delivered")
{
DataGridView1.Rows[e.RowIndex].ReadOnly = true;
}
}