What should I use as the size of buffer to save the data from memory to a file on the USB drive?
IMO, this depends on the type of data being collected. But I would say that for a single "chunk" somewhere around 256 mb would probably be a good starting place since your board only has 512 mb of memory for both the OS and your program.

Is there a way to query the USB drive to get the size?
You could start by simply piping the results of "df" (disk free) to your program or a file. And don't forget that you have a 4gb EEMC memory "card" built into the hardware.

I am just starting and the Debian version is working on being updated; not sure if I will wait till after the upgrade or use the current version.
I doubt that the actual version will make much difference, and you should be able to upgrade the OS after you obtain the hardware.