If you try to call such method from BP it will work. But then if you try to build game with nativization you'll get a compilation error.
Something like this: error: 'GetOwningPawn' is a protected member of 'AHUD'

Engine/Source/Runtime/Engine/Classes/GameFramework/HUD.h
Code:
protected:
	/** Returns the PlayerController for this HUD's player.	 */
	UFUNCTION(BlueprintCallable, Category=HUD)
	APlayerController* GetOwningPlayerController() const;

	/** Returns the Pawn for this HUD's player.	 */
	UFUNCTION(BlueprintCallable, Category=HUD)
	APawn* GetOwningPawn() const;
I try to imagine why such code even works with blueprints.
I think that protected BlueprintCallable functions should have the same logic as BlueprintProtected or even better didn't compile.