Here's what to do
Open run(from the start menu)/regedit
go to these keys:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
Often times it seems an empty key is to blame, so have a quick look through them, and see if anything looks odd.
Failing this, backup this portion of the registry (make sure you are backing up all of the keys in uninstall, not just the keys for a single program! Open the exported file in notepad to reassure yourself)
It's going to be the key for the last program listed before the gap - delete it, run add/remove programs and see if the gap has gone. restore the registry, because you don't want to delete all the references in add/remove to that program, now do you?
---
If it's not that key closest to the gap do the following:
Delete half of the keys - run add remove programs, see if the space has gone. If not, run the .reg file you made earlier to restore the registry, now delete the other half of the keys - there, the gap is gone when you re-run add remove programs. Restore the registry.
Repeat this - Deleting keys and running add remove programs , restoring the registry, until you have narrowed it down to the culprit.
---
Now that you know which key is cranky delete all the uninmportant sub-keys - contact number / url etc etc. It seems the crapper the program, the more keys people fill in! Really useless shareware programmers seem to go crazy filling in the keys...
I don't know the rationale behind this - one time I deleted a description and the gap went. Another I deleted an (incorrect? - I didn't check) path to an icon, and that did the trick.
Anyway, make sure your backup is good, and then it's a question of deleting and narrowing it down until the ill key is identified.
easy!
Graeme