As I said, an account can only ever be one, and to become solo it must be flagged (within 2 hours of creation) before any mining and a few other requirements.
There will be no way to swap. If you want a different type of account, you have to create a new one.
Anyone who finds a block should already know they've found it, and the pool will of course already now immediately (the microsecond that the block is found) who found it and if it was solo or pooled - it will report it as such immediately as it already does but with the added distinction of being pooled or solo.
The already present user list will also be clear who is pooled and who is solo - two separate lists.
Expecting that I could pretend that a pooled miner didn't find the block when they were pooled mining, seems a rather odd thing to suggest.
The reverse, of taking a solo block away from the ONE person who found it, well that's not really gonna work too well either since they should know also.
Thus I don't see the problem.
Also, no two accounts can use the same payout address, that is there in the old public git code I wrote and will never be removed, since it causes balance calculation problems if any 2 accounts are allowed to use the same address, thus if an account is already receiving rewards to a non-solo address, they can't suddenly get solo rewards to that address - so it would be obvious in that case.
As for trust, well miners already put their trust in any pool they use, even ones where the operators don't give a shit and lose many blocks due to negligence and lack of interest, coz they're too busy working for Sol Press and don't care and they've already made thousands of BTC
Fudging blocks back and forth is simply a pool operator risk of being caught, like any other that you can think pools might want to do, yet everyone mines on pools anyway, even the ones that have already ripped of their miners large amounts ... like slush.