In order to fix this, you need to:
1. If you have data on the drive, back it up in Windows first. If you don't do this you'll lose all of it.
2. Start Puppy from a LiveCD.
3. Go to Control Panel under Start Menu and choose Pdisk.
4. Choose sda to access your pen drive.
5. Choose fdisk (cfdisk often won't open these partition tables).
6. Use fdisk to delete all the existing partitions (use the "m" letter to get help if you don't know how to do any of the things that I'm talking about in fdisk).
7. Switch to fdisk's "expert mode" and change the number of sectors per track to 32. I am not sure why this is necessary but have been told that it is necessary.
8. Write the partition table to disk and exit. You have now wiped out your pen drive.
9. Start fdisk for sda again through Pdisk (or directly if you wish).
10. Create new partitions. I have been told that one should keep the first partition at less than 1024 cylinders but it seems difficult to access more than one partition in Windows. So, creating one large partition may be better.
11. Mark the first partition you create as type FAT16. If you create more than one, not sure what to mark the others as, but try W95 FAT16 (LBA).
11. Mark the first partition active.
13. Write the partition table to disk.
14. Reboot your computer into Windows.
15. Format your pen drive's partitions in Windows as just FAT (not FAT32 or NTFS, the latter being an option under NT / XP).
16. Reinstall Puppy on your drive through Puppy or through other methods. Recopy your data to the drive if you wish.
Phew. That should do it.