Code checked out with the SP Dispose checker (and visually), all looked OK. Checked the environment and verified that a) sites could be created fine, b) empty feature deployed fine and c) a third party (Bamboo's Hello) web part also deployed OK.
In reviewing the logs, I noticed that after an IIS Reset, the Application Event log showed Event ID 1511 for the application pool accounts.This error indicates that the accounts (in this case there were three applications with three accounts) that a Windows Profile could not be found so a temporary one being created.
So after much review, it turns out that the deployment problem was due this error - when the installation part of the deployment completed and IIS is reset, the attempt to activate the features (there were several) fails because the Application Pool account has a different profile. After creating a profile for each of these accounts, viola! Ran through no problem.
A quick fix to create a Windows Profile is to simply add the Application Pool account to the local administrators group, login to the server with that account (this creates the profile) then logout and remove it from the Local Administrators group.
For the another method, see this link: