I don't understand the logic of this. If there is a possibility that the client can send an invalid request to the factory then there must be a mechanism to inform the client of their mistake.
However you do it the client will always have to check something before using the object, be it a null check directly on the returned object or true/false on boolean value set by the factory.
ISomething obj = factory.Create("someobject");
if (obj == null) {
} else {
}
ISomething obj;
if (factory.Create(out obj)) {
Alan.