There are two good reasons Square doesn't do this that I can think of off the top of my head.
First, CNP vs CP card processing rates. http://en.wikipedia.org/wiki/Card_not_present_transaction
Every credit card has the CC number encoded in to the back of the card, but in addition to that, it has a couple bytes of extra information. That extra information qualifies the merchant for a lower processing rate if they SWIPE the card. That means, when you take a picture, you are paying closer to 3.5% instead of 2.75% for every transaction. (rates quoted are square's cp vs cnp rates)
Some merchants are extremely sensitive to this, other aren't. The larger a merchant is, the more likely they are going to care. On the other hand, no merchant wants to lose a sale, 3.5% of a sale is still better than 100% of a lost sale.
The other reason is based on UX. It feels really weird to have someone take a picture of your credit card using their cell phone. The apps that use this technology might be doing anything with that image.
Otoh, more people should take credit cards!
(edit: Sidenote, Square considered doing this before the swiper was invented, during the very first month or so. Doesn't mean it is a bad idea, just that Square moved away from it in favor of a swiper.)