Maw,
One of our most basic human needs is to be valued and appreciated, especially when we go out of our way to do something nice for someone. My immediate reaction to your post is that you are not being unreasonable.
You have driven her on your own time and at your own expense, many times. Did she ever even utter a 'thank you' before or after she gushed out all her 'lyrical' praise for the other one?
So, after all that, if you're still willing to drive her around (out of sheer kindness) then go ahead, do it anyway but don't expect anything in return. She may be ungrateful, insensitive and boorish, but you knew that already.
There is a difference between doing what makes you happy or doing what other people want. By all means, do spend more time on yourself doing the things YOU want and love. Shop at John Lewis (never been..I live in the US), but it sounds lovely, so go for it. Buy yourself something grand and enjoy some Coffee and Danish on me.
When you have to ask yourself whether or not you're being taken advantage of, listen to your own inner voice. If that's what this feels like, then it's time put a stop to it. Next time she asks, tell her you're too busy. Say something like "Today doesn't really work for me, sorry ...maybe next time".
coffee and