Well, I'll have a go but I'm very much the amateur mechanic. Generally it's down to the crankset but, certain frame designs may require a certain axle length to give sufficient frame clearance – I've got a standard Inbred with XT M752 cranks on a 113mm axle (47.5mm chainline), the cranks are designed to work on a 47.5mm or 50mm chainline – 47.5mm was the prefered but certain frame designs needed more clearance. My 853 Inbred has very wide chainstays and needs a 50mm chainline to give anything like enough clearance between rings and chainstay, so the M752 XT cranks on that bike are on a 118mm axle.
Frame clearance allowing you should be able to run XT Octalink cranks on either a 113mm or 118mm axle. The point about maybe needing to fiddle with your front mech is this – in Octalink days 47.5mm seems to have been the prefered chainline, the LX cranks you had fitted on a 121mm axle may (I don't know) therefore have given a 47.5mm chainline and your front mech would have been adjusted to work with this. If you then put XT cranks on, fitted to a 118mm axle you'll have a 50mm chainline and the mech may be adjusting.
You can use the XT cranks on a 47.5mm or 50mm chainline because they've been designed to work with either so neither a 113mm or 118mm axle is wrong. If you fit a chainset to a BB with the 'wrong' axle length giving a chainline that it's not designed to work with then you could well have problems, for example you could fit the old LX crankset to an Octalink BB with a 113mm axle (in the sense that it would fit) but since it gives either a 47.5mm or 50mm chainline on a 121mm axle I suspect that you'd have no end of issue.
IFAIK modern external BB cranksets are all 50mm chainlines.