It's pretty easy - all you need to do is change the Class of the SMS PDU to 0.
I've written a short tutorial in Python showing how it can be done: http://shkspr.mobi/blog/2012/06/raspberry-pi-python-and-3g-d...
In this case, I'm using a basic 3G dongle and Raspberry Pi - it should work on any device which allows serial port access.
A few phones have the capability via 3rd party apps - they all seem to be ancient Nokia & BlackBerry devices.
Amusingly, iPhones don't (or didn't) display the sender's number on Flash SMS, so you could text very realistic looking prank messages like "This phone has been recalled - please nearest Apple store" etc.
Flash SMS is a bit like Push To Talk - one of those standards which never quite took off the way it should.
My bank does send Flash SMSes for 2FA codes as an optional fallback to the chip+pin-card based 2FA keypad, that does both time-based and challenge-response to authenticate the transaction, and is mandatory (i.e no SMS fallback) for adding people's IBAN and outbound transfers.
I can add one more report: My Nexus 4 has no problems with receiving or sending text messages. Maybe the OP uses a non-standard radio firmware or something?
Hell, I had no problems with SMS and I was using Facebook Messenger as my default SMS app. I had no problems with the few days I used the stock messaging app.
To a first approximation, the only text messages I get on my N4 are from Google's verification service, but I've never had one received incorrectly - or noticed a failure to receive one.