среди прочего, там описан метод передачи данных без использования файлов — сразу в виде Bitmap.
насчет временных файлов: например при запуске приложения или при выходе из него удалять все временные файлы.
насчет sd карты: Environment.getExternalStorageState() возвращает состояние. и далее в программе можно выбирать в какое хранилище (внутреннее или внешнее) записывать временные файлы.
сценарий работы такой:
пользователь выполнил действие и в IntentService ушла команда, которая выполняется не мгновенно, а связана с передачей данных с сервера. пользователь не закрывает приложение, а продолжает что-то делать и в это момент поворачивает телефон. а сервис в этот злополучный момент пуляет ответ. соответственно, ответ не доходит. а юзер его ждет.