The first thing you need to understand is that "basis-free" and "basis-dependent" are not crisp technical terms; they do not have formal definitions. Things that are true are true no matter whether how much or little their definitions and proofs make use of bases; what we have here is a fuzzy concept that we use for talking of definitions/proofs as acts of communication between human beings, beyond their formal content.
A basis-free definition is one where it is immediately obvious that what it defines does not depend on a choice of basis -- usually because it does not mention a basis or coordinates at all. At the other end of the spectrum there's definitions that directly mention bases; before we can agree that they define a property in abstract vector spaces we need to actually prove that if we apply the definition with two different bases, the results will agree.
Between these two extremes there is a sparsely populated grey area where it will be obvious to some but not all readers that the definition defines a concept for abstract vector spaces. For example, in tensor calculus, definitions that use the Einstein summation convention look extremely basis-dependent at first glance, if the convention has first been defined in terms of invisible $\sum$ signs over concrete indices. However, if we write down exactly the same symbols (and make sure to follow some sanity rules that are not terribly important in the invisible-$\sum$ picture), we can call it "abstract index notation" instead, and someone familiar with that can immediately see how the expression encodes a particular combination of operations he has already convinced himself are independent of basis, and the whole thing is therefore basis free.
And the point here is that it is okay that there is a grey area, because the distinction between basis-free and basis-dependent is not a technical one.
For proofs the situation is slightly different. Once we prove something it is proven, and it doesn't matter whether for the technical soundness of the proof that we chose a basis somewhere in it. (In other words, in contrast to definitions, using a basis in a proof does not hit you with additional proof obligations).
The reason why one might want to care is again related to communications. A proof really has (at least) two purposes. The first one is to convince you that what the theorem states is actually true. This is where formal correctness comes in, and where it doesn't matter whether you use a basis or not.
But the second purpose of a proof is to convey some intuition about why the thing is claimed is necessarily true. A proof where the QED comes out of an impenetrable flurry of coordinate algebra is still a valid proof: it does establish that the goal is true. But it is often not terribly useful for answering "how can I think about this theorem such that it is intuitively clear to me that it has to be true". Proofs that don't speak about coordinates -- when they are available! -- generally tend to be better at that.
The real goal here is that proofs ought to be clear and convey useful intuition. Being coordinate-free is not a goal in itself, but is merely a rule of thumb for how to reach that goal. Sometimes, perhaps, coordinate manipulation is exactly the way to produce the clearest proof. (This can be the case, for example, when we can choose particularly nice basis, such as one that diagonalizes some operator we're talking about).
Also, of course, sometimes the best we can do is to produce a proof that happens to be a maze of complicated algebra. Then that's still a valid proof, though we might have hoped for something better (and may keep searching for something better, on the back burner).