This actually works correctly, I'm happy to say. I don't know why I thought it was wrong!
protected void grdPrices_ItemCommand(object sender, GridCommandEventArgs e) {
if (e.CommandName.Equals("Autofill")) {
// This line actually is OK!
GridNoRecordsItem noRecordsItem = (GridNoRecordsItem)e.Item;
string start = "" + noRecordsItem.FindControl("dtStart").Value;
string end = "" + noRecordsItem.FindControl("dtEnd").Value;
}
}