This will get a little complicated, but I think this will work.
1. You'll need 3 copies of your table. When you try to add a additional copy of a table to a report, Crystal will tell you that the table has already been added and ask if you want to add an Alias - click on 'Yes'. You'll now see two entries in the list of tables for the report - the second will have the table name with "_1" after it, the third "_2", etc. We'll use the first one to get all of the ID numbers regardless of which "type" they contain so that you can get all records that have only Type A, all that have only Type B, and all that have both. The second will be for the Type A records and the third will be for the Type B records.
2. Link from the original copy of your table to the _1 copy on IDNUM and make the link a Left Outer Join. Do the same for the _2 copy of the table.
3. Create a group on IDNUM.
4. Add descending sorts on the date filed for both the _1 and _2 tables.
5. In the Select Expert, add conditions for {Table_1.Type} = 'A' and {Table_2.Type} = 'B'.
6. In the group head section for the IDNUM, put your data in the layout that you show above.
7. Suppress the details.
Because you've sorted the Type A and Type B data in descending order by date, the first record returned in the report should contain the most recent Type A and Type B records.
There's also a way to do this using subreports, but that will tend to slow down the report. If you have to display other detail data besides what's in your example, you'll probably have to use subreports for this.
-Dell