I'm actually a little confused why this happened, given that your only "filtering" command is stats , I tested this code below to see if either fields or sort would filter out if the field was null, and it wasn't:
| windbag
| table host
| streamstats count
| eval potato=if(count<3, "baked", null())
| sort -potato # I would have expected this line
| fields host potato # or this line to filter out the lines to reproduce your issue
That being said, I think I can offer a few tips on how to debug and how to move forward.
First, I'd suggest going line by line on an event you know should be included in your search. You can create a slightly more custom initial search (i.e. "index=syslog source="Inbound.log" externalId={IdYouKnowShouldExist}) Make sure it passes the stats command, the evals (evals don't filter so this is very unlikely) and finally the fields and sort. Going line by line should help you in this and going forward debug which command is filtering something out, since Splunk is a pipe based language (the output of each line directly goes into the next one, making it very easy to track down what is going wrong, if not why). If you figure this out, let us know and we can more accurately diagnose, or hopefully this helps you identify your search issue or an issue outside your search (the log you thought should've existed doesn't, etc)
Second, there is a now() function of the eval command which will allow you to fill whichever time field you're looking to fill. You can include that as part of the variable initialization or as a separate line, example:
| eval oc_time=round((coalesce(sent, now()) - received)/3600,2)
You can also separately coalesce sent and now() in an eval command. You can also nullfill with the fill null command, like so:
| fillnull value=0
OR
| fillnull oc_time value=0
You cannot fillnull with the now() parameter unfortunately.
One other thing you can try is removing the "sent" value if it is the same as the "received" value, in the case that you only have one log. You can either do this by filling it with null() or now():
| eval sent=if(sent=received, null(), sent)
Hope this helps!
... View more