'Some but not all code paths return a value' when compiling, and compiler timed out. ( maybe too many watch types selected? )

Well.... After side loading and testing my app without any issues, the compiler can't get the job done. 

I don't know if the issue is I have too many watch types selected, or that I keep getting 3 Build Warnings for each watch.

BUILD: WARNING: The launcher icon (30x30) is smaller than the specified launcher icon size of the device 'marqcommander' (40x40). Padding will be added to the image to center it.
BUILD: WARNING: marqcommander: \Sail Racer\source\SetSportMenuDelegate.mc:16: Some but not all code paths return a value
BUILD: WARNING: marqcommander: \Sail Racer\source\pickers\StringPicker3.mc:102: Some but not all code paths return a value

Do you think those warning should cause the compiler to hang and timeout ( it was running for about an hour ! ) and had given build warnings for 44 or 45 watch types.

BUILD: ERROR: build timed out
BUILD: Interrupted
Package Manager: Problem building package. See console for details. (100)

Can anyone suggest things that I should check to try and remove the warnings? and if they would be enough to stop the compilers?

This is the function MC 16 giving one of the warnings: 

    function onMenuItem(item) {
        if (item == :Item1) {		
			Storage.setValue("sport", 1);
			Storage.setValue("tackx", 6);
			Storage.setValue("gybex", 6);
			if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
        } else if (item == :Item2) {		
        	Storage.setValue("sport", 2);
        	Storage.setValue("tackx", 5);
			Storage.setValue("gybex", 5);
        	if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
        } else if (item == :Item3) {		
        	Storage.setValue("sport", 3);
        	Storage.setValue("tackx", 4);
			Storage.setValue("gybex", 4);
        	if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
        } else if (item == :Item4) {		
        	Storage.setValue("sport", 4);
        	if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
        } else if (item == :Item5) {		
        	Storage.setValue("sport", 5);
        	if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
        } else if (item == :Item6) {		
        	Storage.setValue("sport", 6);
        	if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
        } else if (item == :Item7) {		
        	Storage.setValue("sport", 7);
        	if (Attention has :vibrate && myTimer2 != null) {
  		  			Attention.vibrate(vibeStart);
  		  		}
       }
        
        if(myTimer2 == null){
    		WatchUi.switchToView(new SailRacerMainView(), new SailRacerDelegate(), WatchUi.SLIDE_LEFT);
    		System.println("justsetstorage    " + Storage.getValue("sport"));
    		return true; 
    	} else {
    	WatchUi.popView( WatchUi.SLIDE_RIGHT );
    	}
    
    
    
    }

Here is the other function giving warnings 

    function onAccept(values) {
        if(!mPicker.isDone(values[0])) {
            mPicker.addCharacter(values[0]);
        } else {
        	if(mPicker.getTitle().length() == 0) {   
            //     Application.getApp().deleteProperty("string");
            	
            activeCourse = new[2];
            WatchUi.popView(WatchUi.SLIDE_IMMEDIATE);
            WatchUi.popView(WatchUi.SLIDE_IMMEDIATE);
            
            } else {
            	if ( activeCourse[0] != null){
                	activeCourse[0] = mPicker.getTitle();
                	if(mCourses.size() == 1 && mCourses[0] == null) {
	    	 	 		mCourses[0] = activeCourse; 
	   	 		 		System.println(mCourses);
	   	 		 		activeCourse = new[1];    
	   		 	 		Storage.setValue("SmCourses", mCourses);
	    		 		if (Attention has :vibrate) {
  							Attention.vibrate(vibeOne);
  				 		}
					
	    			WatchUi.popView(WatchUi.SLIDE_RIGHT);  // May need to label the course here using the dictionary?
				 	WatchUi.popView(WatchUi.SLIDE_RIGHT);
				 	WatchUi.popView(WatchUi.SLIDE_RIGHT);
	    		 	return true;
	    			
	    			} else {
	    				mCourses.add(1);
	    				mCourses[mCourses.size()-1] = activeCourse;
	    				activeCourse = new[1];
	    				System.println(mCourses);
	    				Storage.setValue("SmCourses", mCourses);
	    				if (Attention has :vibrate) {
  							Attention.vibrate(vibeOne);
  						}
	    	 		WatchUi.popView(WatchUi.SLIDE_RIGHT);  // May need to label the course here using the dictionary?
	    	 		WatchUi.popView(WatchUi.SLIDE_RIGHT); 
	    	 		WatchUi.popView(WatchUi.SLIDE_RIGHT); 
	    	 		return true;
	    			}
                }
             }

            WatchUi.popView(WatchUi.SLIDE_IMMEDIATE);

        
        
        }
    }