Max Date Issue

Hello,
I have a passbook table where I manage all incoming and outgoing transactions. Every time when I need to add or deduct amount I find the last balance from passbook.
Previously I added 3 values at once in passbook and their dates are exact like '2018-07-15 13:01:52.740'. Now when I fetch value for last entry it shows me first entry of that date.
So, I tried to fetch data with date and primary key value. It gives correct output. But sometimes we need to add some value in passbook for previous dates manually, to check it I added 2 values in passbook table of previous date and when I fetch the balance it shows me last balance of previous date and not today.
What could be the best solutions for this.?
Passbook Table
PassSr int
AppID int
TrDate datetime
Part nvarchar(100)
Income int
Expense int
Balance int

My Query:
Select top 1 COALESCE(Balance,0) from Passbook Where AppMstID = 2 order by PassSr + TrDate desc;

Do you have DDL with any sample data and expected outcome?

In between I found a solution. I added Identity row value with milliseconds. This way though the date is exact same I always get different date.