Código:
var i, subi:Integer;
begin
i:= 3;
subi:=0;
if i < ListView1.Items.Count then
begin
if subi < ListView1.Items[i].SubItems.Count then
begin
ListView1.Items[i].SubItems[subi] := 'Ocupado'
end
else
ShowMessage('no tiene subItems'); // crear el SubItem aqui ???
end
else
ShowMessage ('Elemento no existe'); // crear el Elemento aqui ???
A ver si detectamos la "maldita" direccion
Por otra parte, en Listview1.columns debe haber definido al menos 2 columnas, ( la 0 y 1)
Saludos