I've flown my last eight or so flights entirely electronically. I use an iPhone 3G, make the barcode about an inch in size, and make sure that there are some white borders around the barcode so that it's easy for the scanner to find the edges.
I haven't had any problems aside from one agent whose scanner was broken and checked me in via sequence number. (The airports were IAH, DCA, BOS and SJC)