The SQL Inbound Adapter is normally used in such a way that produces a new message per Row.

The File Outbound Adapter is normally used in such a way that produces a new File per received message. Check the overwrite setting (put it to false to append new lines) and verify that when you use PutLine you are using the same file name.

Yes you are true in your observation. There are severals things to improve.

Regarding get several files in an easy way you can use an Studio Project in order to pack everything you need and select the project in the Deployment screen.