Is necessary any sanitization functions if I use the database layer correctly
The db abstraction layer, as you noted, should prevent SQL injection attacks.

Check_plain is actually used to make sure text is html safe. If your printing out user submitted data to the screen, it should (at some point) be run through check plain to guard against cross site scripting attacks.