No, you can't tell whether $H$ has a full image or not in a reasonable amount of time, if $n$ is large (say, $n\ge 160$). Distinguishing the case where its image is of size $2^n$ vs of size $2^n-1$ would require on the order of $2^n$ evaluations of $H$, which is infeasible for normal values of $n$.
No, you can't distinguish $H$ from $H \circ H$ in a reasonable amount of time, if $n$ is large (say $n\ge 160$) and you have no information on $H$. Distinguishing the two requires on the order of $2^{n/2}$ evaluations of the black box ($F$), which is infeasible for normal values of $n$.
The technical fine print:
I am assuming you are asking about generic attacks, i.e., black-box attacks, where we can only evaluate the function at points of our choice but are not given any information about its internal structure.
If you know the internal structure of $H$, you might be able to prove something, but this requires more than a black-box attack (more than simply evaluating $H$ on some values of your choice and looking at the output). For instance, it is easy to distinguish $\text{SHA256}$ from $\text{SHA256} \circ \text{SHA256}$ in a single query, for trivial reasons: send the input x
to your black box, and if you get back 2d7116..81
, you're dealing with $\text{SHA256}$, otherwise you're dealing with $\text{SHA256} \circ \text{SHA256}$. But this is not the kind of attack you are talking about.