You may have already done this bit of troubleshooting, but on a device where you've just performed an inventory with both /F /SYNC switches check in the LDclient directory under the "Data" directory there should be an invdelta.dat file which will be what should have been uploaded to the core most recently (check the file data for accuracy on this) and open this file with a text editor and do a search for "OS - Last Start Up Time =". Make sure that this line is even in there in the first place. If the line is there, then you'll know at least the inventory scanner is working on the client, but if not, then something strange is going on with this client. This will help isolate if this is a client side issue or perhaps a server side issue.
There is a setting that we had set to on in the server that was preventing software inventory info from making it to the core. This value is called "Delete SW Before process Full scan" (3rd item in the list on our core.) found in the services screen under the inventory tab and under the "advanced settings" button. Make sure this is not set to 1. Change it to 0 if it is and then restart the inventory service. This item doesn't work right in my opinion. What we found was that as soon as a delta is performed it blows away all the software information for a record. The way its worded, it should only affect records when a "full" scan is performed on a device, but this simply isn't the case. I don't know if this will help you at all, as really a startup time shouldn't be part of the software side of the record, but its worth mentioning just in case.
Hope some of this helps you get farther along.