sql базы данных, в стандарте, не гарантируют порядок результатов в запросе если не будет указан order by (исключение, group by нужно читать документацию по каждой используемой БД и использованию конкретных индексов).
То что если у тебя в 1000 случаев сработает как ты ожидаешь, в 1001-вом получишь неожиданный результат (ситуаций много, неудачные комбинации добавления и удаления записей, странная комбинация записей в индексе и т.п.)
в sqlite в каждой таблице, если специально не удалять это при создании, есть колонка rowid, являющаяся идентификатором записи, и это положительное число, и оно увеличивается при добавлении (сбрасывается при vacuum), возможно тебе ее хватит, сортируй по ней.