In future, you could try giving the DBPro team at least a day to see your post before you get annoyed. They are a bit busy you know and the forums are hardly empty. You gave everyone less than 7 hours to respond if the indicator is correct. Also, other than the DBPro team, who may not even log on on a regular basis with patch 2 in the works, you have to wait for someone to be interested enough in the topic, or just checking through everything, to look at your post. Then they have to dig around and work things out for themselves first. Apart from the DBPro team, very few people would have that information at all, and you should give them a chance to dig it up before you put angry smilies in your post. But congrats on getting that format worked out. As for the arrays stuff, it probably just reserves a section of memory and gives you a pointer to it. This means that when you undim it, the data is still there until it gets written over, so the pointer can still access it. The pointer is obviously not being deleted, but it probably should be, to tidy things up. The undim command would therefore return the memory you reserved to unallocated, and if you try to undim an array that doesn't exist, maybe error handling just skips the statement (why would you try, anyway???). As for bounds checking, any error handling like that would slow down the code. Again, why would you try exceeding the bounds of the thing? Write good code, and you should have no problems. Just use some intelligence and you won't encounter problems.
System Specs: AMD Athlon 1700+ XP, GA-7VRX motherboard, 128MB DDR RAM, GeForce2 MX400 64MB VRAM