With the title "Reading values from a contract: When do I need transactions?" the answer is transactions are never needed for reading contract values.
A transaction is needed when you want to change state: in the example, when you want to change and save the value of
Which functions need a transaction to trigger?
Since you probably want to save the value of
inc() should be invoked with a transaction.
As you've noted, to deploy the contract and invoke the
Test() constructor, you do need a transaction.
Do I even need a function to get a value from a smart Contract when I am a full node? Couldn't I just ... read it?
From outside the blockchain you don't need a function, but you will need a function if you want a contract to get the value.
What happens when inc() is called with a transaction but not inserted
in a Block and I read an old value? Is this an important point or can
it be ignored?
If your transaction is not inserted in a block, your application should disregard the transaction: for example if someone says they paid you in a particular transaction and you don't find it in the blockchain, you would still require they pay you. It's important you disregard the transaction: for example you still want to be paid!
When do I get a/the return value? Instantly or when the transaction in
placed in a block?
You only get a return value when you invoke a function with a
call, as in
contract.get.call(), and you get it immediately. If you use
contract.get.sendTransaction() you will get an immediate transactionHash: you will not be able to get the return value without rewriting the contract code, for example to use an Event. More details: What is the difference between a transaction and a call?
inc() should be probably be invoked with
contract.inc.sendTransaction() (so that
x is saved), but it is possible to use
contract.inc.call() and it would be a preview of what the "next" value of
get() should probably have
constant, but even with
constant, it's still possible to use
contract.get.sendTransaction(): it would not make much sense though.