Since C# automatically uses a namespace when an object is created the Business Object Mapper project should be setup with a default namespace to help avoid this issue. There are several ways to achieve this, the default namespace for the Business Object Mapper project or by overriding the namespace for each business object individually.
Let's assume the namespace of the project (and the business object's .cs file) is MyNameSpace. To set the default namespace for all business objects when they are mapped, do the following:
1.) Open the Business Object Mapper
2.) Click on the project that needs to be modified
3.) On the configuration panel on the right, click Modify Project Properties
4.) Set the default namespace to match the namespace of the C# project.
5.) Rebuild the partial classes.
This will create the partial class with the namespace you just specified in the "default namespace" property. To make sure the partial was generated properly open the business objects .designer.cs file and look for the namespace tag. This will be set to the specified setting from above. Open the business objects .cs file and make sure the same namespace is specified.
Phantom Business Object

The phantom business object only appears within the Business Object Mapper when the namespace in the business object's .cs class does not match the namespace in the business object's .designer.cs. This is usually due to an invalid namespace specified in the Business Object Mapper as mentioned earlier.
Bottom Line
The bottom line is that the namespace MUST match in both class files that comprise the business object. Verify that the namespaces match and this will remove the "Phantom" business object.