The MSDN documentation says that you must define accessors for your custom attached DependencyProperties: http://msdn.microsoft.com/en-us/library/ms749011.aspx (the "The Get Accessor" and "The Set Accessor").
Why are the accessors necessary? When you have an instance (non attached) DependencyProperty, the WPF runtime justs calls SetValue and GetValue. Why doesn't it just do the same thing for attached DependencyProperties?