This may be possible. For the purpose of this answer I'll assume that the BSD-3 covered software was written by third parties and does not share any copyright holders.
The 3-clause BSD license makes three requirements:
- for source code: license and copyright notices must be kept intact
- for binaries: the notices must be provided in the documentation or other material that is provided with the software
- that the names of copyright holders or contributors are not used to endorse or promote products
The first item is essentially automatic: just don't remove any legal notices. That would likely be illegal anyway. The Apache license contains the same requirement in section 4(c).
The second item is easy to comply with. You can distribute the software under the Apache license, but you must still keep the BSD license notice around. The Apache 2.0 license offers the NOTICE file mechanism in section 4(d) for such purposes.
The third item with its non-endorsement clause is tricky. The Apache license does not allow you to add extra terms to the license via the NOTICE mechanism (4(d)), and contains no comparable non-endorsement clause itself (but see section 6 for trademarks).
However, I would argue that the non-endorsement clause can be effectively ignored: it neither grants rights that the recipients would not otherwise have, nor does it restrict the rights that the recipient would otherwise have. It is just a reminder that the recipient may not claim endorsement anyway. This has also been discussed in How is the BSD GPL-compatible?
I would therefore argue that it is perfectly possible to include originally BSD-3 licensed code into a 100% Apache 2.0 licensed project, under the condition that the original license and copyright notices are added to the NOTICE file.
Counterargument: the BSD license does not give explicit or implied permission to distribute the software under a different license. While the BSD-3 clause license is compatible with Apache 2 (see above discussion), a relicensing is not actually possible without the consent of all copyright holders.
For a user of the entire project, the two alternatives are indistinguishable.
However, a user that extracts the originally BSD-covered part from the Apache-covered software encounters the question which license they would have to comply with. I would say:
- they can always choose to comply with the Apache license
- if the part was modified since its inclusion in the Apache-covered project, it contains Apache-covered code and the Apache license must be used
- if the originally BSD-covered part was not modified, the user has the option to choose the BSD license as well: the code cannot be relicensed and the BSD license did not cease on this copy, it just received an additional layer of Apache-licensing on top
Bonus question: what if the original project has yet to be published? Copyright is automatic as soon as the work has been created, but the time of publication may be relevant for calculating the copyright term. Only the copyright holders can decide whether and when the work shall be published. In this case, the work would have a valid license that allows its publication by a third party.
Aside: the year in a copyright notice should be the year of publication, not the year of creation. The publisher may want to ensure that all copyright notices are accurate at the time of publication, especially if the software was created in one year but only published in a later calendar year.
At the beginning of this answer I ignored that the downstream project and upstream code shared a copyright holder. This makes a difference if the upstream code was a joint work by multiple authors, in which case every author may independently have full rights to the code. However, legal theories in this direction are generally ignored in the Open Source context, have unclear international implications, and are best left for lawyers in your jurisdiction.