Here is the rewritten version of this UDF. See my comments HERE.

Please test the shit out of this thing. It was a major headache, and I want to make sure I didn't miss something. Thanks! Update 2013/05/28 - Fixed missing @error return in _Zip_ItemExists - Clarified a few @error return value meanings - Added an additional check and @error code to _Zip_DeleteItem - Clarified some of the header notes, esp regarding behavior on XP

Update 2011/12/08
- Fixed recursion in ListAll function

Update 2011/12/07
- Fixed recursion error in CountAll function
- updated objects to conform to new COM syntax (parenthesis req'd for methods)

Update 2011/07/01
- Reverted change to AddItem function
- **Adding an item directly to a sub folder on XP will FAIL

Update 2011/06/30
- Fixed traversing namespaces on Windows XP
- Added note that overwrite fails on XP

Update 2011/01/13
- Fixed bug adding items to a subfolder that doesn't exist yet

Update 2010/08/27
- Fixed bug with trailing 's

Update 2010/07/16
- Better error reporting in _Zip_AddItem function

Update 2010/07/02
- Added credits.
- Added trancexxx's suggestion to remove any left over temporary directories.
- Replaced some StringTrim calls with cleaner StringRegExpReplace calls.
- Moved a few repetitive lines of code into functions.
- Moved a few repetitive lines of code into functions.
- Moved a few repetitive lines of code into functions.

=========================== _Zip.au3