There are a couple of complications. First, to perform the date comparisons you have to deal with dates using the raw field data, of the form:
[Last Played,0]
where the ,0 indicates the MC should use the raw, internally stored data. A date/time is stored internally as a floating point number in the form <num days>.<frac of day>. To compare a date against a known date is a little more complex, as you have to grab the floating point value, and not the pretty formatted date that MC gives you when you copy from a date field.
Second, your dances may cross the midnight hour, so this complicates simple hour/minute calculations (eg. probably can't say today, anything after 5pm, since tomorrow at 2am -- when the dance is in full swing -- won't work).
To get a date/time from a date field, the way you were trying to proceed, you'd have to assign the date to some decimal field, and then copy that decimal field's value, yielding a decimal number which you can now use in numeric comparisons. So you could create a [Last Played (raw)] field, of type Decimal, and make it an Expression field, where the expression is [Last Played,0]. Then, you'll have a raw last played date field which you can use to copy/paste. This would allow you a fast way to get to the dance, play some baseline Start Of Dance track, grab the [last played (raw)] date from that file, and use that value.
Using this value, you can create an expression column (or filter) to show values such as Never Played, Played Tonight, Not played Tonight. To get an idea how this feels, create the field mentioned above, and then create an expression column in a panes view:
If(isempty([Last Played (raw)]), Never Played,
If(Math(below([Last Played (raw)], 40924.7006712962975143)),
Not Played Tonight,
Played Tonight))
but repalce the 40924.70.... in the expression with the copy/pasted baseline track's [Last Played (raw)] field. Now, the pane will allow you to dynamically filter based upon what you've played since the start of the dance.
Here's another interesting expression column you may find handy, at least to give you ideas of what is possible and how to use values, expressions, etc.. You can add it next to the column above.
IfElse(isequal([Last Played], never played),
Never Played,
Compare(Math(Now() - [Last Played,0]), >, 1),
Not played last 24hrs\regex(formatdate([Last Played,0], Elapsed), /#^(.+)\s(.+)$#/, -1)[R2]\[R1],
1,
Played last 24hrs\formatdate([Last Played,0], hour):formatdate([Last Played,0], minute))&datatype=[list]
Edit: the second expression here will only work in MC17. Use the following for MC16:
If(isequal([Last Played], never played),
Never Played,
if(isequal(Math(Now() > [Last Played,0]), 1, 5),
Not played last 24hrs\regex(formatdate([Last Played,0], Elapsed),
/#^(.+)\s(.+)$#/, -1)[R2]\[R1],
Played last 24hrs\formatdate([Last Played,0], hour):formatdate([Last Played,0], minute))&datatype=[list]