It is difficult to make suggestions without seeing the blocks you are using.
I have encountered erratic results as you describe (rare on web, more frequent on devices) when using asynchronous blocks.
Check out this thread where I describe the problem and a solution Wrapping Asynchronous (then do) blocks into a Synchronous Function resolves unpredictable results