Here are two functional dependencies which hold for R.
R(A,B,C,D,E) {ABCD->E, E->A}
The answer from my friend is that it can be decomposed into BCNF.
R1(B,C,D,E) {BCD->E}
R2(A,E) {E->A}
However, I think that it cannot be true because the original functional dependency ABCD->E has not been preserved. Therefore, in my opinion, R can not be decomposed into BCNF because the original functional dependency ABCD->E has not been preserved. Am I right or wrong?
(In the first version of this question you say, "the original primary key has been broken". You seem to mean, the original FD (functional dependency) has been "broken". (Otherwise, your statement doesn't make sense.) Instead of writing/thinking vague things like "broken", make the effort to write/think something clear and precise using appropriate technical terms. Eg when the components satisfy their FDs their join doesn't necessarily satisfy that original FD. For which there happens to be a more specialized phrase: the FD has not been preserved.)
We can always normalize to BCNF. But not necessarily preserving all FDs.
If someone claims a decomposition is to BCNF, and that certain FDs hold in the components, then they should back it up by showing how they got that from a BCNF decomposition algorithm. (There are other ways to prove it from definitions, which is how the algorithms were proved to work.) You can decompose to those components, and A->E holds in R2, but BCD->E doesn't hold in R1. And ABCD->E is not preserved. There's no way to preserve it in decomposing to smaller components, because no smaller component has all those attributes.
You can also show that {R1,R2} is a lossless decomposition of R via a theorem that says that a binary decomposition is lossless when (if and only if) the common columns include a CK (candidate key) of one of them. Here the common column set is {E}, which includes itself, which is a CK of R2, so the decomposition is lossless. You can show they are both in BCNF via a definition of BCNF. Here, in each component all determinants of non-trivial FDs are superset of CKs, so each is in BCNF.
Components are always projections of an original that join back to it. So in any business situation that would have set the original to a certain value, the components will be set to projections of it and will join back to the original. So the FD will hold in the join. But if an FD is not preserved then if we constrain (error check) the attempted updates of the components per their FDs then we don't end up constraining (error checking) the original per that FD. So to prevent erroneous updates to the components & join we need to add a different constraint.
PS Now you can ask yourself, why do you think you have an opinion about FDs being preserved in BCNF? In math we don't have opinions, we have proofs of theorems. If you think you can show or reference that it's wrong, ask whether that justification is correct. If you don't have a proof or reference, don't think you have an opinion. If you don't really mean you have an opinion, then don't say that you do, say what you do mean. Also for the future--how could you have answered this? You must have been given a reference, and many are available including free online. You have learned something about BCNF. If you had read the whole section on BCNF it would have told you that FDs can't always be preserved. So please do due research before you ask a question.