!!! I found it !!!!
So the problem is that I have a number of variables for which I perform a ReDim but I never have an original DIM statement.
In my code, this works just fine, but apparently Debug does not like this.
I simply placed a "Dim PartitionSize(0) as String" near the start of my code with all the other DIM statements and the problem is solved.
The problem is that I think I do this with a bunch of variables so I need to look at every single ReDim in my 13,000 lines.
So, the logical question: Should what I am doing (ReDim without a preceeding Dim) ne valid or not?
Glad you managed to pin it down to that. There's absolutely no problem use solely ReDim, but bear in mind that, unless there's a '$DYNAMIC meta command in your program (which makes all arrays dynamic and resizable), there's a difference between DIM and REDIM. With DIM, your array is static, so you cannot REDIM it later. With REDIM, you create a dynamic array from the get go.
$Debug mode stores the address in memory of all variables and arrays. Now that you've pointed it out, I'll try to find out if a REDIM could be moving the array in memory just as well, which could be causing the issue.
The fact that no line mentioning the array was ever run, but the error was still coming up, is because you'd added the array to your Watch List, and the debugger module needs to try to read it with every cycle, in order to update the Watch Panel of variable values. That means it's also checking UBound and LBound internally, and that's where the "Subscript Out Of Range" error is coming from.
Thanks for reporting, I'll see into it.