You can not use two columns in your sub query:
select [dbo_pibm].[tbl_Vehicle].Id,[dbo_pibm].[tbl_Vehicle].[Vehicle_Type],[dbo_pibm].[tbl_Vehicle].Vehicle_No,
[dbo_pibm].[tbl_User].User_firstname+' '+[dbo_pibm].[tbl_User].User_surname as driver,
[dbo_pibm].[tbl_Vehicle_Journey].Start_Place + ' To ' +[dbo_pibm].[tbl_Vehicle_Journey].End_Place as Journey,
CONVERT(VARCHAR(8),Start_Time,108) as Start_Time,
CONVERT(VARCHAR(8),End_Time,108)as End_Time,CONVERT(VARCHAR(108),
Journey_Date,103) as Journey_Date,
[dbo_pibm].[tbl_Vehicle_Journey].Id as TravelId
from [dbo_pibm].[tbl_Vehicle]
left outer join [dbo_pibm].[tbl_Vehicle_Journey]
on [dbo_pibm].[tbl_Vehicle].Id=[dbo_pibm].[tbl_Vehicle_Journey].Vehicle_Id
left outer join [dbo_pibm].[tbl_User]
on [dbo_pibm].[tbl_User].User_id=[dbo_pibm].[tbl_Vehicle_Journey].Driver
where [dbo_pibm].[tbl_Vehicle].[Id]=(select top 1 Vehicle_Id,MAX(Id) from [dbo_pibm].[tbl_Vehicle_Journey]
group by Vehicle_Id HAVING MAX(Id)>0 order by Vehicle_Id desc)