Many of these are answered in the screensteps documentation:
http://wpilib.screenstepslive.com/s/3120
1. Getting started with C++ > Debugging a robot program
http://wpilib.screenstepslive.com/s/...-robot-program
2. As mentioned previously, there are 3 choices, described at: WPILib programming > Choosing a Base Class
http://wpilib.screenstepslive.com/s/...g-a-base-class
3. Described at: RobotBuilder
http://wpilib.screenstepslive.com/s/3120/m/7882
4. As described in link 2, you can choose your loop rate in simple robot, or use the driver station rate for iterative or command (or change it if you want, as described above). Setting up parallel tasks is much trickier in a text based language. Lots of things to worry about. The PIDController class creates a seperate thread for each controller. Described at WPILib programming > Operating the robot with feedback from sensors (PID control)
http://wpilib.screenstepslive.com/s/...rs-pid-control The command programming model sets up a state machine to step through your commands. Between those two, we have not needed to create additional threads.
7. Described at Vision Processing > C++/Java Code
http://wpilib.screenstepslive.com/s/...95-c-java-code