If the relationship is sorted descending by ID, all you need is a calculation field with calc:
"I want it to show the date that is in record 1 even if there is no date entered in the field. Instead of pulling the date the was entered in record 3. Record 1 was the last information entered into the database."
I believe you may be confused about LAST vs. OLDEST. Record 1 in your table would be the oldest and it would be the first. Records in a table, by their very nature, are entered in your table in their unsorted state of creation order, with Record 1 being the first and so on.
The third record would be the LAST but it would be the newest.
So if you want the FIRST record in your table, no need to sort the relationship at all ... simply place the related field directly on your layout (or use it however you wish). If you want the LAST record (it would be record 3) then you would STILL not sort your relationship but use the Last() function to get that information.
If you are suggesting that you are working with a sorted set then the relationship doesn't adjust to fit that criteria. So maybe it will help to get clarification. Also, you don't indicate that this is a related (or self-join) table you are looking to. Any time you wish to look across a group of records, you need to create a relationship and look through the relationship to compare to associated records.
And a sort order specified in the relationship will change which related record is "first" and which is "last".
I remember another poster, Fitch?, indicating that last returns the last non-blank value. If this is the source of the trouble here, you might try this trick:
Define a field, cBlankDateFlag, as a calculation field: IsEmpty ( DateField ).
In the parent record, define a calculation that checks this field for the last related record.
IF ( Not Last ( RelatedTable::cBlankDateFlag ) ; Last ( RelatedTable::DateField ) )