The solution you have given is working fantastic. This has lead to another question about this solution.
Is there a way to display certain fields in the view based on another field? I do realize that since this is a view created against a list this might not be possible, but I thought I would ask.
if you use nintex forms you can just edit the task form and add rules fields as you want. These rules can hide fields according to a value in another field.