I'm hitting this problem also in ios 9.1. If you have bug info and insight would love to know. It is a showstopper for my project too! Thanks!
As a workaround I'm currently creating a full texture from the node and then creating a sub texture with a rectangle that represents the sub-section bounds. This sub-section rect needs to be in unit coordinates (0 to 1) so:
let fullTex = self.view?.textureFromNode(theNode)
let smallTex = SKTexture(rect: unitRect, inTexture: fullTex!)
BTW, I tried using a unit rect (instead of node coordinates) with textureFromNode:crop: but still get nil for the SKTexture result.
Hope this workaround helps others. Please let me know if learns more info about this behavior of textureFromNode:crop.
Have a same problem (and much more others with ios9x spriteKit). Apple can you hear us?