To answer the last question first, if an asset was issued as closed, it cannot be changed to be open. (If that was possible, it would take away from the whole point of it being closed.)
The insufficient funds problem could be (a) that you are trying to send from the wrong address in the wallet, i.e. not the one with that balance, or (b) that you have a native currency on your blockchain and a fee policy, and this wallet has insufficient native currency to cover the desired transaction fee.
If neither of these explain the problem please post here the output of listassets, the output of getmultibalances, and the sendassetfrom command you are trying to run.