Is it possible to change an expense account to a cost of goods sold account after there are transactions?
Accounts that have existing transactions cannot be changed. Core allows you to change the account type from Chart of Accounts only if there are no associated transactions. Also, if you have closed that financial period, then Core will prompt you for a password to allow such editing (Company Profile > Closing Date).
It appears that you have to make new accounts and move everything over to them.