Most cost-efficient way to implement USB full-speed host?
I'd suggest the simplest way to get the capabilities you need is to use the Raspberry Pi Zero.
This will support your USB requirements and Raspbian will auto discover your USB\serial.
It will support a couple of buttons if you need them. 
There is a Lite version of Raspian that is a little over 300 MB.
It also has plenty of space for your data files on the plug in SD card, and an easy 'C' or Python development environment. 
Best of all it costs $5.00 ...who could beat that ..

It will run from a simple power supply (USB style power cable) 5 V @2 A 

Assuming you have a simple serial protocol you could develop the handshake and data protocol on the 'Pi with a screen and keyboard or over a remote ssh connection, or you could also simply plug you device into a PC and develop a Python script to do you task.
A 'Pi takes about 10 seconds to boot (about the same as an Arduino bootloader timeout) which I assume may be viable.