Currently I have added the "membership plan image" to the userlist but this seems to show the image regardless whether their plan is expired or not.
The image should not continue to display if they're expired. We're using this here on JP and it's been working fine for us. Are you sure their subscription has actually expired? You can confirm this within CBSubs > Subscriptions.
I'd like to find some way to list current users and those with expired plans so that we can remind each user individually to pay their dues if they are owed.
You can using a CB Userlist with an Advanced filter to filter it to display users that have expired subscriptions. See the below for this exact use case.
www.joomlapolis.com/forum/277-cbsubs-gpl-support/227615-user-lists-by-subscription#255712
With the above it checks for and displays users with an active subscription. To display expired you'd change the `status` = 'A' to `status` = 'X'.