You are welcome to help... However, this has been reported and investigated several times. There are several posts on the forum about it.
Our research leads us to find out there is a limit to the size of a single registry entry. We have come to the conclusion that this is not an issue with DevPath. We believe the issue is exceeding the max size of a single registry entry. If true then this is a limitation of windows XP and not DevPath. It was difficult to find the documentation but as best as i could discover through MS documentation a single registry entry can be no more than 1MB in size. However in practice i believe it is less than that.
while working on a Auto-it script i discovered that it has a limit for the max size of an array and was able to create a workaround by using multiple arrays. This was discovered while i was working on the script to parse the HWIDs contained in a packs INF files (the output is used to populate the supported devices list on our download pages). It may be that DevPath has a similar issue but we don't have the original code for DevPath it was donated to us. I believe it was written in VB. IDK if VB has a similar issue.
If you have time and can figure something out let us know... I would love to fix it.