Does the design resolution of a Cocos2d-x application have to be a fixed size (hard coded)?
Is it common practice to use the device screen size as the design resolution (dynamic coordinate system)? How would it be done?
For example, some tutorials recommend setting the design resolution to 480 x 320 (a fixed size) and then scaling to the actual screen size. Can this be avoided?
The design resolution is set on startup so you can set it from config rather than hard coding it. It doesn't make sense to change it on the fly as it is (supposed) to reflect the resolution you used when laying out resources in Cocos Studio / your config files.
Usually the art production process defines the design resolution. i.e. Art is produced relative to a specific resolution. i.e. a background .png might be 1280x720, and other sprites in the scene are developed relative to that. At which point the design resolution is clearly 1280x720.
If your art production process doesn't have a consistent design resolution as a starting point then all your assets are going to be random sizes and require per-sprite scaling when placed in a scene which will likely cause visual issues at least.