when i set a sign with the blockdata: /blockdata ~ ~1 ~ {Text1:"{text:give,clickEvent:{action:run_command,value:'/give @p stone'}}"}
and i right click on it, the give animation shows and i recive a stone for each click, but my inventory didn't update. if i click 10 times, i will not have any stone on my inventory, but, if i after the 10 clicks, use the command /give @p minecraft:stone ; in my inventory will appear 11 stones( 10 from the sign click and 1 from the command).
i hope you undestand my bad english 😛
So basically what you are saying is that when you click the sign to give you the stone, it gives it to you, but your inventory doesn't update. But when you give yourself stone, then your inventory updates.