There are two reasons a property item may be broken (turn black):
The property you're trying to access is inaccessible (scoping). We originally thought about not letting you select that property item, but that went against our approach of letting the user do what they want in the order they want. If they wanted to use a private/protected property out of scope and they decided to make it more available, they should be able to access it and then change the scope
The property you're trying to access can't be found. This can happen if you remove a property or change its name without the property in memory. See my first response to mje on another reason it may happen
If this is the problem that I think you're describing, I've got a fix which is still being reviewed. (The person doing the code review has been out sick for a few days). The basics of that problem is that behind the scenes the properties have different names for if it's dynamic and static and some property nodes weren't getting updated when you change the properties from dynamic to static or static to dynamic. The problem only happens when you change the class input before you change the class output. This is CAR 248637 if you're interested.
I haven't heard of any problems with DVRs and property nodes. What specifically are you having trouble with?
Jon Kokott's issue appears to be caused by something not related to property nodes, but the property nodes are just getting caught in the crossfire. I haven't had time to take a good look at Jon's demo (I just heard about the issue before I left last night), so I can't say for sure why it's happening. It might help to force a compile (Ctrl+Click the run arrow) after loading a VI (i.e. opening or restoring). I recognize this isn't a solution for a lot of cases.