UPDATE:
Found what i was doing wrong. For whatever reason, I was storing my variables which control cursor movement: handles.C_Move_V and handles.C_Move_H incorrectly. My fix was this:
In my OpeningFcn I initialized the variables into a structure other than handles:
Cursor.Location = [0,0];
Cursor.Movement = [0,0];
guidata(hObject, Cursor);
Then, when retrieving cursor location and movement for input into my "blinking" function I used:
Cursor = guidata(hObject);
Cursor.Location(1) = Cursor.Location(1) + Cursor.Movement(1);
Cursor.Location(2) = Cursor.Location(2) + Cursor.Movement(2);
Cursor.Movement(1) = 0;
Cursor.Movement(2) = 0;
guidata(hObject, Cursor);
Old_Im = Current_Map{Cursor.Location(1),Cursor.Location(2)};
New_Im = strcat(Old_Im,'H');
Image_Change(Cursor.Location(1),Cursor.Location(2), New_Im, handles)
pause(0.75)
Image_Change(Cursor.Location(1),Cursor.Location(2), Old_Im, handles)
The pushbutton callbacks were of the form:
Cursor = guidata(hObject);
Cursor.Movement(2) = Cursor.Movement(2)+1;
guidata(hObject, Cursor);
I suppose i was not storing and calling the variable correctly...