I think I've discovered a bug in WinRT - If I define attached property of type 'string' with non-null default value, for instance "abcd", and then I change this value through databinded object, that has property of type 'string' with value 'null',
the PropertyChangedCallback is not raised and the property value is not changed at all! To my understanding this callback should be raised every time the attached property value has changed, including initial change from non-null value to null.
I've tested this same scenario both on WPF and WP8 project and it works as expected.
Here's also sample project demonstrating this issue: