First, just to clarify, '@LASTCACHEREFRESH' is only used in a view's cache condition for incremental queries. In other words, it is used to select from the original data source any lines which have been added or updated since the last cache refresh. It is not used to load the cache.
For more information about incremental cache, including important rules to follow when configuring it, take a look at:
Once you've specified a view's incremental query condition using '@LASTCACHEREFRESH', when you query the view, you should see in the execution plan two SQL queries: one which is sent to the cache and another which is sent to the original data source. In the latter you'll see the condition you provided, where '@LASTCACHEREFRESH' is replaced with the last cache refresh timestamp.
Now, if your condition is based on a column stored as text, Denodo will automatically try to convert the column to a timestamp in order to push down the comparison. Our recommendation is that you use a date type instead of a text for the column in your database field so you avoid any conversion.
Hope this helps!