I'm adding this post as I'm not sure MDL's problem (or my problem) on this thread will be noticed otherwise (I'm guessing as there's an accepted answer the other thread might not be noticed).
The problem seems to come down to the internal bt_dev.id_count being equal to 1, which means that bt_le_adv_start() fails if we use adv_param.id of 1.
More is explained in the other thread.
Thanks for the help!