EDIT:
After the suggestion by #ProfessorSparkles below, I changed the Profile Level using subler... but it still doesn't work, same problem. Sound is fine, no video. Here is the updated mp4 info:
* Movie Info *
Timescale 600 - Duration 02:15:51.210
Fragmented File no - 2 track(s)
File Brand M4A - version 0
Created: GMT Sun Nov 27 14:25:55 2011
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 48000 - Duration 02:15:51.210
Media Info: Language "Undetermined" - Type "soun:mp4a" - 382088 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Self-synchronized
Alternate Group ID 1
Track # 2 Info - TrackID 2 - TimeScale 24000 - Duration 02:15:51.143
Media Info: Language "Undetermined" - Type "vide:avc1" - 195432 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 1216 x 544 - Profile Main @ Level 3.1
NAL Unit length bits: 24
Pixel Aspect Ratio 1:1 - Indicated track size 1216 x 544
Synchronized on stream 1