Mark - you have hold on which will retain the current plot when adding new ones. And since you call plot on each iteration of your for loop, then you will see all lines. If you wish to only show the latest value, then you can either remove the hold on or you can change the x and y data for the first drawn plot graphics object. For example,
hPlot = plot(NaN,NaN);
for i = 1:5
set(hPlot, 'XData',i, 'YData', randi(255,1,1), 'LineStyle', 'o');
So we create one plot graphics object and use it's handle to change/set the x and y data on each iteration of the loop
Note that your for loop iterates from 1:end. Is this intentional or a typo?