As you say Gareth, the errors suggest the file is being loaded - and if I mess about with the function definition, or the 'use' statements, then I get those errors back, and if I now mess about with the class...extends... bit I get renderers not found, so Im confident those bits are correct now, thanks to your help.
What I can't determine is why the change I make is having no effect - if I make a similar change in the original renderer, then that is implemented, so the original renderer is still in force and is not being overridden.
The code for the profile page uses
$renderer = $PAGE->get_renderer('core_user', 'myprofile');
Is that preventing the override, perhaps? by directing the page to that specific renderer? In which case how do we override a renderer like that - I really don't want to have to build a new layout just to be able to point to my renderer, as to me that completely removes any point of using renderers and being able to override them in a theme.
Did think that this would be fairly simple, after all its not exactly the first time Ive overridden a renderer! But I can't see the wood for the trees here and I think Im digging myself a bigger hole every time Maybe Im over-thinking some of this and it really is simple - I just can't see it and can't see my way between the multiple different ways we now seem to have for doing the same thing!
GOT IT!!!
It is down to the class naming and name space - and I still don't really know what is the best way as I seem to have tried so many combinations, but the one I finally have working is - no namespace and
class theme_flexibase_core_user_myprofile_renderer extends \core_user\output\myprofile\renderer {
Thank you to everyone for your help! Much appreciated!!!
R