Do you have more than one class implementing IPerson interface?
If you know the return type of the GetPerson function is always going to be Person, why have IPerson? Simply change the interface of the method on the IPersonService interface to return Person instead of IPerson and update the service references in your clients. This will give you a GetPerson that returns Person object (and therefore no need to cast).
If, in the other hand, you are going to have more than one class of type IPerson (like Employee, Customer, Person, etc..) AND the method GetPerson CAN return more than one of those types, then casting is your only way out of the situation, since the object type of the return can morph into any of the types implementing IPerson.