It's best to assume your Custom Object list has no useful order to start with.
You give it an explicit order using SortTool, which anyone looking at your code will understand. SortTool allows you to sort on multiple fields, ascending and descending.
Remember to check the field(s) you want to sort on in the tree on the right-hand-side of Script Editor. (You always have to check off fields, of course, just pointing out that a field you sort on but don't output still must be checked.)
Here I'm checking using the Custom Object named EmailBound and checking the field with friendly name Created At in the tree:

The Velocity name of that field is createdAt (no spaces, different capitalization) so of course that's what I'll use in my code, not the friendly name.
I make sure to annotate the Velocity code to know exactly what objects and fields are required in the future.
#**
* @requires-objects
* EmailBound ($emailBound_cList)
* @requires-object-fields
* EmailBound.Created At (createdAt)
*#
Then call $sorter.sort to sort in descending order by createdAt, so the latest record is first in the list:
#**
* @requires-objects
* EmailBound ($emailBound_cList)
* @requires-object-fields
* CreatedAt ($emailBound_cList[].createdAt)
*#
#if( !$emailBound_cList.isEmpty() )
#set( $sortedEmailBound_cList = $sorter.sort($emailBound_cList,"createdAt:desc") )
Latest Created Object: ${sortedEmailBound_cList[0]}
#end
I've written extensively on Velocity, specifically Marketo's "flavor" of Velocity, so if you're going to be supporting Velocity code in production, I strongly suggest you read those blog posts.