Should I split a 3MByte block into smaller blocks if using XXTEA? Given that I have a 3MByte block of data, a random key and need to use XXTea, is there any advantage in splitting the block of data into smaller blocks and encoding / decoding each separately?
Is there a sensible upper limit to the size of block as far as encryption / decryption is concerned?
You should not use XXTEA, especially in its large-block variant. It's reported as broken, and that seems very credible. Some of the problem is with the overly aggressive $6+52/n$ rounds, but beside this, the cipher has not attracted wide review.
This question discuss other variants of TEA.
Except in the specific cases that you need an all-or-nothing bijection of a block (because you can't afford that encryption makes the ciphertext any larger), or code space is extremely scarce, my recommendation is to use a standard authenticated encryption cryptographic primitive such as AES-GCM. Libraries for that are available in most major languages.