If you use the UDF above then you have isolated the information gathering from the data output processes. This will permit you to determine if the Access output was interfering with your enum loop.

After commenting out the output code in your original post both scripts output the same 75 products for me on Kix 4.02. Could the be some extended character in one of your key or value name that cause a premature termination of the loop?
_________________________
Home page: http://www.kixhelp.com/hb/