The remote SQL server's clock should be in sync with the machine's clock where the program is run.
The sqlTrackingWorkflowInstance.WorkflowEvents fetches WorkFlowEvents in a DateTime range between SqlDateTime.MinValue and DateTime.UtcNow. If the SQL machines clock is ahead of the application machines clock then events will not be fetched until the application machine's clock catches up with the events DateTime creation time.
SqlTrackingService trackingservice = new SqlTrackingService(connectionString);
trackingservice.IsTransactional = false;
PingBack from http://blog.a-foton.ru/2008/07/not-able-to-query-tracking-data-real-time-when-application-and-tracking-database-on-different-machines/