I don't see any direct porblems with it, my main concern is typesafety in the domain model and if it solves that its all fine from my POV.
Would it still be a real EF complex type one specifies as the type on the property in such case?
I'd like to use the same type for soft relations. e.g. there might be a relation from PurchaseOrder to Customer, but not in the form of a navigational property but rather as a CustomerId property. one would like to use the same type there.