apply VB troubleshooting tools
No errors raised? Here's what I can see as possibilities.
Put parenthesis around IF conditions in loop - could be ambiguously evaluated.
Could any variable (such as strName) by null? Will cause error or inconsistent results in InStr function, etc.
What about Call cmd... - could this be the problem?
Possible hidden control code in array contents?
Is there an artificial limit (0-127) which never reaches 128?
Hints: insert MsgBox to show variables inside your loop as it executes, see where it goes south. Insert breakpoints to pause and examine contents. Step through code to see where it dies.