Yes, you are right. Here is an excerpt from the One4All T&C:
5.7 Your card does not expire. You will see a ‘Valid Thru’ date on the front of your card. This will be used as the expiry date when shopping online. If you have funds remaining on the card at this valid thru date, you should contact us and we will reissue a new card to you. Please note that while your card does not expire a monthly inactive balance charge will be applied if any funds remain on your card 18 months after its date of purchase. See section 6 below.
Charges
Inactive Balance Charge
6.2 A monthly inactive balance charge of £0.90 (or the credit balance on the Card, if lower) will be charged after the Card has been in issue for 18 months. This charge will start to be applied from the following month and will continue until such time as the balance on the card is zero and this Agreement is terminated.
So in other words, if you use none, or some of the credit on the card and then mislay it until it's been in issue for 18 months, they will steadily take your money from you by monthly debits. Imagine if a bank did that to what they decided was an inactive balance!!!
How can this be a legitimate practice?
Dr. Hilary Cass - report re trans.