I just re-tested on a localhost your use-case, and it works as expected.
- Did you also fill-in the 2 first fields parameters "Value Column" and "Label Column" in the next tab "Options" ?
(in your case, first one should be "id" and second one "fullnamedisplay" (both without the double-quotes)
Maybe looking at our demo-site CB Query example and its settings can help too:
Front page:
demo.cbdemosites.com/demos/cb-query-field
Admin page (login details below login):
demo.cbdemosites.com/administrator/index.php?option=com_comprofiler&view=showField
Here my settings/test-screendumps:
1. Field type: Query (single drop-down, as you seem to wish a drop-down)
2. Query (took yours "scenario 3", just without the 4th name to avoid adding another field):
Code:
SELECT cfc.id, CONCAT_WS( ' ', cfu.name, cfc.firstname, cfc.middlename) as fullnamedisplay
FROM #__comprofiler as cfc
INNER JOIN #__users as cfu ON cfu.id = cfc.id
WHERE cfu.email = "[cb_cfone_email]"
3. Options:
Value Column: id
Label Column: fullnamedisplay
4. Screenshots of the CB Query single-dropdown field settings, the result on profile and on profile edit, and the cb_cfone_email CB field setting.
5. EDIT: added screeshot of the query executed on profile (visible at bottom when enabling site debug in joomla configuration, system tab).
EDIT 2: ADDING NOTE: (the email used in this test doesn't exist in real life, just used it to grab another test-user's name from that email))
EDIT 3: there is also our CB Query video-tutorials here:
www.youtube.com/playlist?list=PLp0puRITgC7MM9iP9FooKB1qk8f5MLWVp