The Entity Framework, or at least the Entity Data Model Designer, won't allow you to define an Entity without an EntityKey. When you try this the designer gives you an error and the code is not generated. However, when you added the Entity to the model using the designer, it arbitrarily marked some properties as part of the EntityKey when it didn't find a primary key in the table. I guess I shouldn't say this is arbitrary, but I don't actually know what criteria it's using. If you look in the generated entity model you'll see a message like:
"warning 6002: The table/view 'XX' does not have a primary key defined. The key has been inferred and the definition was created as a read-only table/view."
So, you likely had an Entity defined with an "unusual" EntityKey. DevForce then used this EntityKey when the query was run, with unpredictable results.
The restriction that an Entity have an EntityKey is both an EF and DevForce EF requirement. EF won't generate its model, and even should this somehow succeed DevForce also insists that every entity have "identity" in the form of a unique EntityKey. This doesn't mean that you must define a primary key on the table, but you must define an EntityKey on the Entity. To do this correctly though requires hand editing the EDMX file to ensure that the storage and conceptual models agree, so defining a PK in the database is probably the easiest way to resolve the issue.