> If you use a key that does not exist, this will only blow up at runtime.
Using Poedit scans automatically your source and imports all missing translation keys. It's just a simple step you have to be aware of when dealing with translations.
> Keys left over from removed code accumulate in the resource files, introducing unnecessary overhead on the translators.
Again, Poedit scans your source and also removes all unused keys.
We're using Poedit for ages and never had troubles with missing keys or orphaned keys. Just use it every time you deal with translations. The only issue you have with Poedit is you cannot translate variables, only strings, but this seems to be the same with i18n-tasks?