What can we say about a vector bundle with trivial unit sphere bundle? If you want to avoid the back story to this question, feel free to skip the paragraphs between the horizontal lines.

Yesterday Georges Elencwajg asked me the following question (I'm paraphrasing): what can we say about a vector bundle with trivial unit sphere bundle? I told him that if the bundle had rank $k$, then the triviality of the unit sphere bundle gives $k-1$ linearly independent sections of the original bundle. This is not true, or more precisely, the reasoning which lead me to make the statement is false. Allow me to elaborate.
Let $\pi : E \to M$ be a rank $k$ real vector bundle on a manifold $M$. If $E$ is trivial, there is an isomorphism of vector bundles $\Psi : E \to M\times\mathbb{R}^k$ and then $r_i(x) = \Psi^{-1}(x, e_i)$ for $i = 1, \dots, k$ is a collection of linearly independent global sections. 
Now let $SE$ be the unit sphere bundle given by some Riemannian metric on $E$. Then $SE$ is a $S^{k-1}$ fibre bundle over $M$. If $SE$ is trivial, there is an isomorphism of fibre bundles $\Phi : SE \to M\times S^{k-1}$. My thinking was that $e_i \in S^{k-1}$ so, as before, we can define $s_i(x) = \Phi^{-1}(x, e_i)$ and these would be linearly independent global sections - if this actually worked, I'd get $k$ sections rather than the $k - 1$ I had mentioned to Georges.
So what's wrong with the approach in the previous paragraph? Well, in the case where $E$ was trivial, the linear independence of $r_i$ relied on the linearity of $\Psi$ when restricted to fibres. In particular, it was important that $\Psi$ was a vector bundle isomorphism rather than a fibre bundle isomorphism (the latter does not require linearity on fibres). In the case of the sphere bundle, we have no such linearity condition (and couldn't possibly as $S^{k-1}$ is not a vector space), so we cannot conclude much about the sections $s_i$, except that they are nowhere zero.

So the question still remains

What can we say about a vector bundle with trivial unit sphere bundle?

 A: The classifying space for $S^k$ bundles would be $\mathrm{BDiff}(S^k)$. See this overview article by Hatcher for what's known about these:
For $k \leq 3$ it's known that $\mathrm{Diff}(S^k) \simeq O(k+1)$ under the inclusion map, with the case $k = 3$ due to Hatcher, so a trivial $S^k$ bundle implies the original vector bundle is trivial for $k \leq 3$.
The homotopy type of $\mathrm{Diff}(S^4)$ is not known.
Update:
However, as stated in that article, we do have $\mathrm{Diff}(S^k) \simeq O(k+1) \times \mathrm{Diff}(D^k\ rel\ \partial)$ (again under the map?), which implies $B\mathrm{Diff}(S^k) \simeq BO(k+1) \times B\mathrm{Diff}(D^k\ rel\ \partial)$, which implies that if a sphere bundle coming from a vector bundle is trivial, then the original vector bundle is trivial (all assuming the ? above).

Working on $\mathrm{Diff}(S^k) \simeq O(k+1) \times \mathrm{Diff}(D^k\ rel\ \partial)$:
Hatcher, in his proof that $\mathrm{Diff}(S^3) \simeq O(4)$ states that this is "well-known and easily shown."
Consider the point $p = (0,0,\ldots,0,1) \in S^k \subset \mathbb{R}^{k+1}$ and let $\mathrm{incl}: S^k \hookrightarrow \mathbb{R}^{k+1}$ be the standard inclusion. One gets $f: \mathrm{Diff}(S^k) \rightarrow GL_{k+1}(\mathbb{R})$ given by $\phi \mapsto [d(\mathrm{incl}\circ\phi)_p |\, \mathrm{incl}\circ\phi(p)]$, where this last is a block matrix with $\mathrm{incl}\circ\phi(p)$ a column vector. That is, the map is "evaluate the derivative at a point and adjoin the normal vector" (also discussed by Hatcher in the above paper).
Next we have $GL_{k+1}(\mathbb{R}) \simeq O(k+1)$ by Gram-Schmidt.
We get $f \circ \iota = \mathrm{id}_{O(k+1)}$ for $\iota: O(k+1) \hookrightarrow \mathrm{Diff}(S^k)$ the inclusion, so, at least so far we do have the "compatibility with the map from $O(k+1)$" that we needed above.
The map $f$ is a fibration with fiber "diffeomorphisms of $S^k$ which fix $p$ and have $d\phi_p = I$" which is homotopy equivalent to $\mathrm{Diff}(D^k\ rel\ \partial)$.
I'm not quite sure how we get it homotopy equivalent to the product.
A: Sphere bundles from n-dimensional vector bundles are tautologically sphere bundles with structure group $O(n)$. By replacing the fiber, we have an equivalence between sphere bundles with structure group $O(n)$ and vector bundles. Under this correspondence, a trivial sphere bundle gets sent to a trivial vector bundle.
Since we have not changed structure group, we have not actually lost any information. Something that is worthy of noting is that the structure group of a bundle does not actually affect whether the bundle is trivial or not. Where stuff like this occurs is when we start considering smooth or PL bundles where a trivialization might fail because it is not in the right category. For example, all PL or Top sphere bundles extend to disk bundles because of the Whitney trick, but this is not the case in Diff. This provides an obstruction to a smooth sphere bundle coming from a disk bundle.
