Nitin, I was able to load this 20 times in a row without issue. But, I am on Mac, which uses quite a different code path than a Windows computer (you didn't say what OS you are using), so we may not be making much of a comparison.
Try not to have Excel running on your computer at the same time you run this code. I've heard claims, but never personally verified, that reliability drops when Excel is being used both as a Desktop application and Automation server.
This is a stab in the dark, but try loading the spreadsheet in one command, passing 'basic' as the fourth argument to xlsread. This will cause MATLAB to read the file with its own reader, instead of bridging to Excel using Automation to do the read. The assign the columns to individual variable. Maybe there is some kind of timing issue with running xlsread in rapid succession? That code would look like: