Below is an explanation of our solution both in a video and full written explanation, you'll also find a copy of the event file including this Output list below.
This solution uses some more advanced techniques and the complexity increases further into the explanation.
Detailed Explanation

Here we used a multi-line display, showing on the first line: Bib, Name, Category (Division), Category Rank, Time and Gender Rank. The Second line was used to show each leg time and their Nation Flag.
Athletes will only appear on the list once they have a time at the Announcer Split, this is achieved with a filter using [Announcer.TimePositive].

Sorting is based on their announcer time, however because we are scoring by Chip time and also have separate Gun and Chip athletes we must ensure that this uses the Time of Day so that the most recent finishers will always appear at the top of the list. This sorting uses [Announcer.TOD.Decimal]

Fields are setup with those for Line 1 appearing first and those on Line 2 following.

There are some fields in here which could be translated in to a user-defined field, such as Division, but we kept some things as one here so everything is visible together. Some notes on the fields:
Name: Uses the CorrectSpelling() function
Division: Uses an IF statement to show either Pro Gender or their Age Group
Division Rank: Uses the default WithStatus() User-Defined Function to show either Status or a field, in this case a user-defined field we created called displayrank which takes either AgeGroupRank or ProRank according to their division.

Time: When an athlete crosses the announcer Split they will appear on the list but do not have a finish time, instead we use ElapsedTime() to show their unique running time from their start time. Since we have a Chip Start we create a single advanced result to return either T0 for Pros or the SwimStart Split for the rest.

Swim Leg: This field has a column offset of 1 in the more settings page to ensure it is shown below the Name.
This list uses a range of Dynamic Formatting, the most obvious is the colour of the name which is either pink or blue according to Gender. In the more settings for these fields we apply the following dynamic formatting.
if([Gender]="f";"C(#E74888)";"C(#0404B4)")
Further down the list is where the Dynamic formatting really made an impact, the dynamic formatting was used to highlight athletes who were ranked 1st, 2nd or 3rd in their category either gold, silver or bronze.

To achieve this we applied the following dynamic formatting which again used the DisplayRank User-Defined Field and uses a simple choose() which looks at ranks 1-3.
Choose(val([DisplayRank]);"BG(#FFD700);C(#000000)";"BG(#C0C0C0);C(#000000)";"BG(#CD7F32);C(#000000)")
The final detail was highlighting the fastest male/female Swim/Bike/Run leg times in green. This looks at the corresponding Leg Rank to change the text colour to green.
If([Swim.Gender]=1;"C(#01DF01)";"C(#000000)")