I can totally understand why a company would want to do this, especially if they offer a hosted solution and are sharing a single database between multiple customers, or something similar. It seems like filtering records out by a customerId field and dropping them to a file would just work and that's the end of it... however, they are messing with fire on this one.
Without looking at the database in question, it is hard to give pointers on why this is a bad idea. But a few come to mind immediately:
Loss of transaction log backup.
Auto-incrementing IDs don't take kindly to inserting "missing" records by hand, and turning the IDENT feature and/or constraints off during insert is just asking for referential integrity issues.
What about shared data? Are there any tables being used across multiple customers? What happens when that data changes over time... where will you retrieve the latest backup just for that data? And how would it affect other customers living in the same database?
Foreign keys... you would have to analyze all of the tables and ensure that tables without foreign keys are inserted first. It isn't impossible, but there's quite a bit of room for error.
What happens when the schema changes? If you are backing up all this data as individual inserts, then they will no longer work as-is without matching the schemas back up.
There's all kinds of things to consider. Personally, if I were them, I would start with a single SQL Server backup of the entire database (better yet, separate their customers out into different databases instead of making them all share one big database), creating differentials daily (or whatever schedule best fits their needs). Then, as an additional service, they could offer some method of exporting and importing data, whether it be via XML, CSV, whatever. Allow the customers to perform backups of their data through export, and if needed, they can re-import it any time, allowing for duplicate checking, etc.
With this approach, you can always guarantee you have a method of reviving a backup that meets Microsoft standards. Data isn't a toy, and SQL Server isn't a beast for nothing... there's a lot more than just pulling data out of a database and throwing it somewhere when it comes to SQL Server's backup process. An entire company can be brought to its knees just by failing to properly safeguard their data, and the worst part is that most of them don't realize until the last minute that their custom backup process doesn't work at restore time... ouch
Last, but not least, there may be tools that will fit the job. Red Gate offers a lot of great SQL Server tools, like SQL Server Compare, Data Compare, and their own custom Backup application. Regardless, I would use them as a last resort...
http://www.red-gate.com/