You can create a managed and unmanaged package in the same organization, and the components can be shared between the two. We have successfully done this with a package containing 500 classes, about 1000 fields over 20 custom objects, and hundreds of Visualforce pages and components. Usually, errors in a non-namespaced version occurs because there are duplicate fields, object names, or code in the target organization; that's the purpose of a managed package, to avoid those errors by using a namespace. Usually, you'll have to delete or rename the conflicting elements before you can deploy the unmanaged package successfully. Also, keep in mind that since the namespace does not exist for the unmanaged elements, you must take care not to write code that specifically references the namespace, or the unmanaged package will fail. For example, if you write the following code:
ns__Event__c records = [SELECT Id, Name, ns__Start__c, ns__End__c FROM ns__Event__c WHERE ns__Start__c = THIS_WEEK];
Your code won't install because of the namespace embedded in the query. If you instead change the code to remove the namespace, it will work in both the unmanaged and managed packages.