There are definatly no problems with underscores, but their use can range widely.
I have a few tables that use underscores in their -regular- column names. I regret doing it this way now. Fortunatly I have a lot of tables that don't use them in regular column names.
Here are reasons they should be used:
I use ref{parenttable} for ALL my foreign keys so they are easily distinguished and I use no 's in regular columns. All my primary keys are tablename_key.
I use _'s appended to sequences, views, indexes, and any other non-table entities in my database too such as someview_view or sequencename_seq or myindex_idx
I, of course, think my way is best 🙂