record type security problem

We achieved this by adding a custom picklist to the Account object with the list of record types. We used the Workflow to change the record type from default record type to actual record type . We knew this was not the perfect design but it worked out for us.