Echoing Matt's comments, don't expect to develop a single plug-in that is backwards compatible for all framework versions. As Matt implies, two versions (one for FW v3/4 and one for FW v5) will suffice for the vast majority of users. Build a version for v5 for longevity. Build a version for v3/4 for users who haven't found a way to update to v5. Let users request any other backwards-compatible versions that they need.