I need to know how this works...
My friend contends that if Squee and Nether Spirit are both in the graveyard (in this instance the only creatures in the graveyard), at the beginning of upkeep, you can retrieve Squee first, then put Nether Spirit back into play cause Squee is no longer there.
I contend that Squee can go back to your hand, but cause Squee was there at the beginning of upkeep, Nether Spirit stays in the graveyard.
Who is right?
Your version is the correct one. Nether Spirit's ability requires that there be no other creature in your graveyard at the beginning of your upkeep. If there is, the ability doesn't trigger. When it tries to resolve, it checks again, and is countered if there is a creature in your graveyard at that time. The condition must be true at BOTH times, not just on resolution.
Comp Rules 404.3. A triggered ability may read "When/Whenever/At . . . , if [condition], [effect]." The ability checks for the stated condition to be true when the trigger event occurs. If it is, the ability triggers and goes on the stack. On resolution, the ability rechecks the condition. If the condition isn't true at either of those times, the ability does nothing. This rule is referred to as the "intervening 'if' clause" rule. Note that the word "if" has only its normal English meaning anywhere else in the text of a card; this rule only applies to an "if" that immediately follows a trigger condition.