Proving that $a^{2^kp}$ isn't context-free (where $p$ goes over all primes)
Your attempt is wrong for several reasons:


If $L$ isn't regular then it doesn't mean that $L^p$ isn't regular. For example, let $L = \{ a^{n^2} : n \geq 0 \}$. Then $L$ isn't regular but $L^4$ is regular.
The language $L^p$ (the concatenation of $p$ copies of $L$) is not the same as the language $\{ w^p : w \in L \}$. For example, $\{a,aa\}^2 = \{a,aa,aaa,aaa\}$ whereas $\{ w^2 : w \in \{a,aa\} \} = \{aa,aaaa\}$.
To obtain your language from $L' = \{ a^{2^n} : n \geq 0 \}$ you will need to take the union of infinitely many powers of $L'$. There is usually very little you can say about infinite unions, since every language can be written as an infinite union of words.


One way to show that your language isn't regular is using the following criterion:


  Suppose that $L = \{ a^i : i \in S \}$ is an infinite regular language. Then $|S \cap \{1,\ldots,n\}|/n$ tends to a positive rational limit.


This criterion follows from the fact that $L$ is regular iff $S$ is eventually periodic.

The Erdős–Kac theorem implies that the fraction of numbers in $\{1,\ldots,n\}$ with at most two distinct prime factors tends to 0. In particular, if $S = \{ 2^k p : k \geq 0, p \text{ prime} \}$ then $|S \cap \{1,\ldots,n\}|/n \longrightarrow 0$. Since $L$ is infinite, the criterion shows that it is not regular.