Set the property to strong is not always correct. It is if the object is responsible for the lifecycle of the property, not when, for example, the object receives the property simply as an "helper" object or a delegate. Strong means the object is responsible to release the property, others simply use it. Weak means the object will use the property but is not responsible to release it.
A workaround that can help in certain circumstances has been added to this question on Stack Overflow. Look for Edit 2: http://stackoverflow.com/questions/9104544/how-can-i-get-ocmock-under-arc-to-stop-nilling-an-nsproxy-subclass-set-using-a-w
Let's hope that WWDC brings good news in this regard.