right, cracked it, everything is working as far as RetroPi is concerned.
Looking really closely, as I held down a HID button the word "keyboard" very very briefly appears.
Clearly, I was working too late the other night, I can scroll up and down a menu with my HID keyboard, I was sure I had tested that, but the output is erratic sometimes the keypress happens as I am releasing the key, sometimes a press registers as many discrete keypresses. so I think the code I am running on the pico is not cleanly emulating how a real keyboard handles button presses.
the log output from Debug didn't contain any mention of controller config, so I guess there were no errors there? all I saw was a long list telling me there were no ROM's for any emulators, and then a "cleanly shut down" message.
I'm now happy the issue is in my HID. going to find an actual keyboard project using python, and reprogramme my Pico.
Thanks so much for your help @mitu