That could be any number of things, so I'll start out with a general answer. I'd start by opening Profiler and creating a trace to see what is actually happening against the tables you're having issues with. I'd also check SQL logs to make sure there aren't any restores occurring that you aren't aware of.
If there were transactions being held open for a couple of days, you'd likely not even see the data when you select from these tables as once data is committed it doesn't get rolled back and if it hasn't been committed yet, then basic select statements wouldn't return the data. Also, if an insert or update transaction was running that long, you'd run into a lot more issues with people not being able to get to data. Try to rule out things as well because figuring out what the problem is not is a great step on the path towards figuring it out what it is.