Ok, here are the steps I took and what precisely happened.
1) I've downloaded downloaded CB 16 from Sourceforge, at:
https://sourceforge.net/projects/codeblocks/files/Binaries/16.01/Linux/Ubuntu%20Trusty/as it was intended to be installed on a Ubuntu 14.04 (64 bit).
2) I've removed all the packages from CB 13.12 that were previously installed and installed all the 16.01 .deb packages that came in the zipped file:
1827912 Jan 29 2016 codeblocks_16.01_amd64.deb
3321832 Jan 29 2016 codeblocks-common_16.01_all.deb
2748132 Jan 29 2016 codeblocks-contrib_16.01_amd64.deb
620626 Jan 29 2016 codeblocks-contrib-common_16.01_all.deb
32935998 Jan 29 2016 codeblocks-contrib-dbg_16.01_amd64.deb
27567312 Jan 29 2016 codeblocks-dbg_16.01_amd64.deb
408184 Jan 29 2016 codeblocks-dev_16.01_amd64.deb
721512 Jan 29 2016 codeblocks-headers_16.01_all.deb
702690 Jan 29 2016 codeblocks-libwxcontrib0_16.01_amd64.deb
408890 Jan 29 2016 codeblocks-wxcontrib-dev_16.01_amd64.deb
459098 Jan 29 2016 codeblocks-wxcontrib-headers_16.01_all.deb
2303746 Jan 29 2016 libcodeblocks0_16.01_amd64.deb
1096972 Jan 29 2016 libwxsmithlib0_16.01_amd64.deb
407462 Jan 29 2016 libwxsmithlib0-dev_16.01_amd64.deb
408160 Jan 29 2016 wxsmith-dev_16.01_amd64.deb
470924 Jan 29 2016 wxsmith-headers_16.01_all.deb
I had to "dpkg -i --force-all *.deb" as some modules have cross dependencies.
3) Running CB 16 for the first time:
Before the splash screen came up it popped up a dialog saying the config files at "~/.codeblocks" (on CB 13.12) had to be moved to "~/.local/share/codeblock" for better compatibility (I can remember the exact text displayed, sorry). Then everything seemed normal, it asked for a default compiler (as expected) and so on.
Later I noticed that it hadn't saved the default compiler (gcc) because it kept asking for it again and again, every time I started CB.
Just to make sure it wasn't saving anything, I created a mock-up project and noticed (later, on another run) it wasn't showing on the latest projects list.
4) The previous "~/.codeblocks" dir listing was: (owned by my_user:my_user - not root)
128 Out 30 2015 BrowseTracker.ini
35553 Jun 21 23:33 cbKeyBinder10.ini
36004 Out 30 2015 cbKeyBinder10.ini.bak
198 Jun 21 23:35 codesnippets.ini
55935 Jun 21 23:35 default.conf
214 Abr 4 04:00 default.workspace
253 Jun 21 20:45 default.workspace.layout
231 Jun 21 23:35 DragScroll.ini
0 Jun 21 23:35 en_US_personaldictionary.dic
4096 Dez 13 2014 share
The new "~/.local/share/codeblocks/" dir listing was: (also owned by my_user:my_user)
4096 Mai 29 2016 plugins
4096 Mai 29 2016 scripts
Where "plugins" and "scripts" are both empty.
5) Running "codeblocks" from a terminal:
There was a warning message saying it couldn't save the config file (probably default.conf) so I had to "sudo codeblocks", and then it saved config files (after running CB for a second time, no more asking about the default compiler).
After searching for "default.conf" on various locations I've found it at: "~/.config/codeblocks/" (yes, not "/root/.config/codeblocks" but "/home/my_user/.config/codeblocks"), whose dir listing is:
37549 Jun 22 05:28 cbKeyBinder10.ini
198 Jun 22 05:28 codesnippets.ini
38679 Jun 22 05:28 default.conf
231 Jun 22 05:28 DragScroll.ini
0 Jun 22 05:28 en_US_personaldictionary.dic
Note: my_user:my_user owns both "~/.config" and "~/.config/codeblocks", but the files above were initially owned by root:root as they were written by CB 16 when I first sudoed it.
6) To make it work properly, I've changed the ownership of those files to my_user:my_user. Now all is normal.
The new config (base) dir "~/.local/share/codeblock" remains unused, as well as "plugins" and "scripts" in it.
I haven't tried to reproduce this a number of times but it seems, at least, unexpected.