John-Paul,
Getting geoprocessing services to work can take a lot of troubleshooting before you get a working solution. The best approach to take is to create your model and test it in ArcMap, once you have a working solution publish this to your server and again test in ArcMap. Once you are happy that you are getting your required result then integrate with flex.
If you experience problems at the second stage when testing your service in ArcMap you need to do some detailed analysis, a good place to start is turn on verbose logging in server manager and then check for any errors. A common one is the number of features being returned (I'm using 9.3.1 which has default value of 500, if this number is exceeded you just do not get a return).
If you are happy that your service is working correctly move onto integrating it with the flex viewer, a good way of checking that the correct values are being passed to the server is to use Firefox with firebug so you can see the request being made. Again use server manager log files to make sure there is no errors being generated.
If you are still having problems with the radius of your output viewshed you have two potential options. Create a buffer from your input point using your require distance and clip either your dem to that buffer (this will speed up your process) or clip your viewshed output to the buffer.
As a side note it looks like your service has been published as synchronous (submit job in rest endpoint) as opposed to asynchronous (execute task in rest endpoint). Setting the process to asynchronous will allow the end user to carry on working while the result is being processed.
Hope this helps
Anthony