1. When using the LimeLM dashboard do I just create one version (e.g. 2012) for use with assembly versioning 2.0.0.0 - 2.X.X.X?
LimeLM is a bit different that wyBuild in what is considers a "version". In wyBuild a version is every single minor change you make to your product so you can release these patches to your users. In LimeLM "version" is used in a broader context. In your example you want to sell version 2.x of your app now and in a year or so you want to sell 3.x of your app (and possibly get upgrade revenue from 2.x customers who want to upgrade to 3.x).
So in LimeLM you'll just start by creating the new product with something like "2.x" as the version name. Then when you're ready to work on 3.x add a "3.x" version under the same product name.
2. If there is an upgrade path from 2.X.X.X to 3.0.0.0 will I have to issue new licenses to existing users?
You can do this a few ways. The way we recommend handling it (and the default way in LimeLM) is to create a separate version in LimeLM. So product keys generated for 3.x will only work with 3.x of your app and product keys generate for 2.x will only work for version 2.x of your app.
Of course, you can also handle it where you have a 2.x product key that can be "upgraded" to be used on 3.x.
3. Every time the user receives an update through wyBuild the assembly version will be incremented. How will this affect LimeLM? Will the users be forced to re-activate?
Updating your programs won't effect LimeLM or TurboActivate at all. Your customers will still be activated.