There is no explicit property on the Advisor that signifies "caught up", but you could use the "newest record" from an independent source to confirm that the proper records have been received.
There are two common use cases in which an SDK app might use an Advisor. In one mode, the Advisor is used to continually "watch" and "listen to" LoggerNet, and receives a notification anytime records are received in LoggerNet's "cache" from the datalogger (those records arrive at LoggerNet as a response to a scheduled collection event or a "collect now" event).
In that case, the Advisor is initially configured, then immediately collects a set of records from Loggernet to get "caught up" to the current moment (latest record) and then it waits. Then whenever LoggerNet gets records, the Advisor gets notified and records are sent across to the SDK app.
(onAdviseRecord event or onAdviseRecords event)
In the other use case, the Advisor is used only temporarily to collect records from LoggerNet with a "one time" interaction. One query is made to LN's cache, and one set of records are returned as the response, and then the Advisor object is shut down.
If you are using the Advisor in the "long-term listen" mode, then it usually has the newest record already. There is an "initial query" of records that come across right when the Advisor is set up, but after the advisor catches up on that, then it typically keeps caught up because it receives the new records right when LoggerNet gets them. It does take a short time for the records to be transferred, but for most applications (with 1 second or longer data intervals) that doesn't become a significant factor.
It would be possible to create a separate Advisor to look at the "newest record only" for a table and compare it to what the long term advisor has. Most users wouldn't find that necessary. You usually just set up the advisor, let it catch up to the current record, and then use a Numeric monitor in loggernet to confirm that the newest record LoggerNet reports is a "match" with the newest record in the SDK app.
Also, you usually want to watch the SDK app a few times when a "scheduled collection" or "collect now" event occurs, to make sure the records are sent over properly.
If you are doing a one-time query, then you simply could compare the newest record received in the query (if it is the newest that LN has) with a Numeric monitor in LoggerNet to confirm that you got the record with the newest timestamp.
I hope this helps.
You may want to review Section 18 of the SDK manual:
[Report Inappropriate or Erroneous Content]