A lot of Googling around, reading forums, and trial and error revealed that the problem is the driver. There is a newer driver with the flakiness bug fixed, but it doesn't compile on kernel >=3.8 because of a changed header file. Also the 20 dBm limit is hard coded into the driver even though the wireless card is capable of more.
I fixed the compile bugs and the 20 dBm limit (adjusted up to 33 dBm, use with caution and check local laws), and placed the driver on GitHub. It is very easy to install, and fixes the flakiness and the 20 dBm tx power limit (this is why I love open source :-) ). The Git Hub page can be found here: https://github.com/FreedomBen/rtl8188ce-linux-driver
To install, run this from a terminal:
git clone https://github.com/FreedomBen/rtl8188ce-linux-driver
then follow the instructions in
This driver also covers the 8192ce/de/se and the 8723e