HI Dora -
Based on the settings on your server, you could be returning cached (and therefore potentially old) rows that Tableau Server is holding on to. If its critical that data in the dashboards is always "fresh" I'd use the the Tableau Server Configuration tool to configure your cache settings to something more appropriate.
A reboot of the Tableau Server is essentially bringing down the VizQL processes of Tableau, which of course blows away cache - its pretty much a heavy-handed way to expire the cache. What happens when you click the refresh button the the Tableau toolbar in a dashboard on Server? This should expire the cache and give you fresh results, too...