Part of the problem with the APIs being badly documented and them changing is that the entire SMS and MMS stack was an undocumented (deliberately) API until 4.4. Trying to build an app around an undocumented API will always lead to running into bugs and changes in the API.