If you have to be 100% precise to sort for the newest rows, you must use the date field. Sorting for the time field when you want to sort for the newest makes pretty much sense and if indexed, sorting on dates will take the same time than to sort for the id-s.
The values for the id field are only guaranteed to be unique I assume, there is possibly no way to ensure that they are ordered by insertion time. For example the id field can be a cyclic field (6,7,8,-7,-6...), or a later modification on the table is allowed to change the id fields but will not know to preserve their ordering by insertion time, or parallel transactions might decide to insert new rows in a different order on the id and date fields.