Hi Jonathan:
1. If your main interest is reprogramming, I suggest waiting to order Cubelets. We just switched the microcontroller inside Cubelets, and while it’s our intention to make everything compatible (and backwards-compatible), we’re actively developing the reprogramming interface and nothing is certain.
2. Yes, the programming happens in C, but we’ve wrapped an API around it to allow you to access higher-level functions (like turning motors on or communicating with specific Cubelets) in addition to low-level register stuff.
3. Firewire! I remember Firewire. No — the connection from PC (or tablet or phone) to Cubelets happens with a Bluetooth Cubelet. We’re working on a new version of it now, it may or may not also have a USB port for tethered connections. https://archive.modrobotics.com/blog/?p=318
Hope this helps.