@Chuck, by definition a short position must borrow (stocks, not cash). As a result your "cash" is still there but is tied up as collateral.
I plugged in a quick test of how much capital you are using. It looks like you are borrowing $90k on your starting $10k. Not good.
I would suggest you examine your algorithm logic for how you check for existing positions. The easiest way I know of is from the portfolio object:
qty = context.portfolio.positions[context.stocks].amount
if qty > 0: print "long"
if qty < 0: print "short"
if qty == 0: print "no position"
I'm wondering about your $10k starting cash. If you are planning to trade in a real account you will need $25k minimum to get a margin account. Otherwise you won't be able to take a short position at all.