Ваш код не завершен, поэтому я не могу комментировать конкретную ошибку ... однако этот код работает для меня (в октаве):
function testo()
figure(1, 'position', [10, 10, 400, 400]);
h.ax = axes('position', [0,0,1,1]);
h.button = uicontrol('style', 'pushbutton', 'string', 'press me', 'position', [10, 50, 100, 50], 'callback', @func);
h.label1 = uicontrol('style', 'text', 'string', 'label1', 'position', [120, 50, 100, 50]);
h.label2 = uicontrol('style', 'text', 'string', 'label2', 'position', [230, 50, 100, 50]);
guidata(gcf, h)
endfunction
function func (obj,evnt)
h = guidata(obj);
delete(h.label1);
guidata(obj, h);
endfunction
Обратите внимание, что если вы нажмете кнопку еще раз, вы получите сообщение об ошибке. Поэтому, возможно, проблема заключается не в удалении метки как таковой, а в том, что вы удаляете что-то еще, чего на самом деле не существует.