fixed bug with hidden columns

When a column is not based on an actual field in the DB, it was getting
hidden incorrectly.
Significant refactoring and change to disk buffering

Now uses isolated storage instead of %TEMP%.
Passes around SQL Run Parameters instead of the sub components.